线程的由来是继承Thread或者实现Runnable,单线程可以认为是要做完某事才能做另外一件事,因此很负责很安全,同样的会导致效率比较慢,而多线程,可以看做同时做很多事,因此效率会比较高,但同时可能会带来安全隐患,因此需要用到锁这样的工具。
如果是很多人来做一件事情时,就需要有标记即flag,需要告诉别人,自己完成到哪儿了。
而有时某些人会陷入困境中,做很多无用功,这时需要别人来制止它的行为。即,强制结束。
而某些人会陷入迷茫,无事可做。要么唤醒它,要么结束它。
甚至会有那么一些人陷入内乱,导致无法工作,即死锁。这是我们要避免的情况。
而有些人是为了某些人的存在而存在的。即守护线程。如果某些人不存在了,那么有些人也就没有戏了。
而有些毒瘤的人加入某组织,毒瘤不死,组织无法运行。即 join() |
|