目录
并发笔记一:什么是线程不安全?
并发笔记二:线程中断机制
并发笔记三:线程的生命周期
并发笔记四:锁机制(一)
并发笔记四:锁机制(二)
线程的生命周期中有5中状态:new、runnable、running、blocked、dead。
- 新建(new):即
Thread t = new Thread();
此时线程未启动,但占用内存空间。 - 就绪(runnable):即
t.start();
线程已被启动,等待被分配给CPU时间片,此时线程是等待阶段,不一定会被立即执行。 - 运行中(running):线程获得CPU资源正在执行任务,除非线程自动放弃CPU资源或有优先级更高的线程进入,线程将一直运行到结束。
- 阻塞(blocked):某种原因让线程让出CPU资源并暂停自己的执行。
·正在睡眠:即t.sleep(3000)
,指定时间过去后即可进入就绪状态。
·正在等待:即t.wait();
,可调用notify()方法回到就绪状态。
·被另一个线程阻塞:即t.suspend();
调用resume()方法可恢复。 - 死亡(dead):线程执行完毕或被其它线程杀死,就会进入死亡状态,线程死亡后无法再进入就绪状态。
·自然中止:正常运行run()方法后。
·异常中止:调用stop()方法后让一个线程中止。
以上所有状态,除了new 和 dead 状态不是活的(not alive),其他状态都是活得(alive)