线程的生命周期中有5中状态:new、runnable、running、blocked、dead。

并发笔记三:线程的生命周期

  1. 新建(new):即Thread t = new Thread();此时线程未启动,但占用内存空间。
  2. 就绪(runnable):即t.start();线程已被启动,等待被分配给CPU时间片,此时线程是等待阶段,不一定会被立即执行。
  3. 运行中(running):线程获得CPU资源正在执行任务,除非线程自动放弃CPU资源或有优先级更高的线程进入,线程将一直运行到结束。
  4. 阻塞(blocked):某种原因让线程让出CPU资源并暂停自己的执行。
    ·正在睡眠:即t.sleep(3000),指定时间过去后即可进入就绪状态。
    ·正在等待:即t.wait();,可调用notify()方法回到就绪状态。
    ·被另一个线程阻塞:即t.suspend(); 调用resume()方法可恢复。
  5. 死亡(dead):线程执行完毕或被其它线程杀死,就会进入死亡状态,线程死亡后无法再进入就绪状态。
    ·自然中止:正常运行run()方法后。
    ·异常中止:调用stop()方法后让一个线程中止。

以上所有状态,除了new 和 dead 状态不是活的(not alive),其他状态都是活得(alive)

相关文章:

  • 2021-06-08
  • 2021-07-12
  • 2021-12-07
猜你喜欢
  • 2021-06-29
  • 2022-01-21
  • 2022-01-24
  • 2021-07-13
  • 2022-02-25
  • 2021-05-02
  • 2021-10-28
相关资源
相似解决方案