线程状态&&Wait和sleep的区别?
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,线程堆栈内容解析:Wait和sleep的区别?共同点:都是把当前线程阻塞住,等待或休眠不同点:Wait( ) : 当线程执行到wait()方法上,当前线程会释放监视锁,此时其他线程可以占有该锁,一旦w
千家信息网最后更新 2024年11月17日线程状态&&Wait和sleep的区别?
线程堆栈内容解析:
Wait和sleep的区别?
共同点:都是把当前线程阻塞住,等待或休眠
不同点:
Wait( ) : 当线程执行到wait()方法上,当前线程会释放监视锁,此时其他线程可以占有该锁,一旦wait()方法执行完成,当前线程继续持有该锁,直到执行完锁的作用域;如下图:
Sleep( ) : sleep() 和锁操作无关,如果该方法恰好在一个锁的保护范围内,当前线程即使执行sleep的时候,仍然保持监视锁。。如下图:
当一个线程占有一个锁的时候,线程堆栈会打印一个-locked<0x22bffb60>
当一个线程正在等在其他线程释放该锁,线程堆栈会打印一个-waiting to lock<0x22bffb60>
当一个线程占有一个锁,但又执行在该锁的wait上,线程堆栈中首先打印locked,然后打印-waiting on <0x22c03c60>
线程的状态
RUNNABLE线程正在运行状态。(Runnable状态的线程不一定消耗CPU)
TIMED_WAITING(on object monitor)表示当前线程被挂起一段时间,说明该线程正在执行obj.wait(ing time)方法,该线程不消耗cpu。
TIMED_WAITING(sleeping) 表示当前线程被挂起一段时间,正在执行Thread.sleep(int time )方法,如:
WAITING(on object monitor)当前线程被挂起,正在执行无参数的obj.wait()方法,只能通过notify唤醒,因此不消耗cpu
线程
方法
正在
堆栈
状态
消耗
时候
时间
监视
不同
不同点
作用
共同点
内容
参数
范围
休眠
保护
运行
阻塞
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器和联机
合肥网络安全公司排名
服务器放数据库安全吗
cad无法连接excel数据库
添加到数据库成了乱码
企业网络安全直接责任人指谁
31问工商银行数据库
论文数据来源数据库
软件开发工程师苏被骗婚
英雄联盟区服务器在哪
软件开发效率参考范围
提升区块链网络安全
服务器里的远程管理在哪里
网络技术与生物技术
科技互联网哪个平台好
py怎么把图片存到数据库
去俄罗斯学习网络安全
银行数据库篡改
锐捷安全代理 dns服务器
网页设置代理服务器
华为软件开发和算法岗笔试区别
黄埔网络安全建设哪家好
西安云鸟互联网科技
电信游戏服务器租用
涉嫌金融软件开发程序员
网络安全问题专项整治工作方案
江苏ipfs服务器虚拟主机
网络技术专业属于通信专业吗
化学品数据库查询系统
本地找不到服务器管理器