线程状态&&Wait和sleep的区别?
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,线程堆栈内容解析:Wait和sleep的区别?共同点:都是把当前线程阻塞住,等待或休眠不同点:Wait( ) : 当线程执行到wait()方法上,当前线程会释放监视锁,此时其他线程可以占有该锁,一旦w
千家信息网最后更新 2025年01月28日线程状态&&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安全错误
数据库的锁怎样保障安全
php修改数据库表结构
吕梁学习网络技术
原值数据库
深圳计算机软件开发代码
铁警网络安全与执法专业就业率
遂宁打卡软件开发
点击华为账号显示无法连接服务器
服务器怎么有问题给看一下
河北手机软件开发价格如何计算
合肥幻游网络技术有限公司
福建东南网络技术有限公司
巴南区提供软件开发流程代理品牌
丰台网络安全认证
数据库点菜系统
人文社会科学数据库
学软件开发计算机
两mysql数据库
手抄报网络安全图
下面哪种模型是软件开发模型
gpu 计算 服务器
数据库ebs是什么
国外数据库安全隐患
天融信网络安全培训咋样
福建省计算机软件开发中专
网页pc软件开发
国家网络安全创新基金
网络安全主体的责任
信息网络安全对策
ctf网络安全比赛所用到技术是什么
广州交友软件开发多少钱