首页 > 编程知识 正文

线程5种状态,java线程5种状态

时间:2023-05-04 21:40:02 阅读:200866 作者:2662

操作系统线程的5种状态

新建 就绪 执行 阻塞 死亡

java中的6种状态

1.创建 2. 执行 3.销毁 4.时间限制的等待 5.无线等待 6.阻塞

常见线程方法使用时状态切换 start

start只能运行1次 就绪状态即可运行状态 未必立刻执行 run()才是运行状态

sleep 不释放锁 使用sleep从执行状态(running)进入阻塞状态(blocked)sleep结束从阻塞状态转回就绪状态
wait 释放锁 进入等待队列 wait()阻塞状态 io操作(等待用户输入)也是阻塞状态 join 不释放锁

当某个程序调用其他线程的join()时,调用线程将会阻塞,直到插入的线程运行完毕,才运行该线程

join() B线程想等待A线程结束后再执行 那就再B线程中执行A.join()
join(时间) 只等待这么久 如果A线程没有执行完也不等待了
A线程join()结束 B由阻塞状态进入就绪状态

yeild 不释放锁

调用当前线程的yield()方法,礼让给其他线程,但是当前线程并不阻塞 还有可能再次获得cpu,当前线程进入可运行状态

termained

死亡就是当run()执行完 或者 main()执行完
参考文章 Java线程的状态及切换

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。