线程生命周期和五种基本状态
2021-05-09 15:21:23 10 举报
程序员必修课
作者其他创作
大纲/内容
1.Thread.sleep()可限制时间2.t2.join()等另一个线程完成3.IO阻塞,read、write
锁池lock pool
Runnable可运行状态就绪
等待队列release lockor monitor
1、时间片用完2、Thread.yield()
死亡dead
拿到了锁
其他阻塞
阻塞状态不释放锁和资源
线程生命周期
获取时间片
synchronized(thread)
1.时间结束2.t2线程结束3.用户输入完成或者写入完成
Thread.yield()放弃当前线程获取CPU的执行权
同步阻塞(获取不到锁)
其他线程调用thread.notify()或thread.notifyAll()
新建new Thread()
thread.wait()wait()为Object类
1、run()、main()方法结束2、异常退出
running运行状态
等待阻塞(不占用资源)
thread.start()
notify:唤醒一个出于等待队列的线程 。随机由JVM决定唤醒哪个。notifyAll:唤醒所有处于等待队列的线程,让它们竞争,成功获取锁进入就绪状态wait():方法调用不会自动苏醒需要别的线程调用同一个对象上的notify()方法,也可以设置超时自动苏醒时间。常用在循环模块
收藏
0 条评论
下一页