Java中sleep()和wait()的区别

本文详细解析了Java中Thread类的sleep方法与Object类的wait方法的区别,包括锁的释放与否、使用的条件及异常处理等关键信息。

1. 这两个方法来自不同的类,sleep方法属于Thread,wait方法属于Object。

2. 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。

3. wait, notify和notifyAll只能在同步控制方法(synchronized)或者同步控制块里面使用,而sleep可以在任何地方使用。

4. sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常。

 

详解:

    sleep方法属于Thread类中方法,表示让一个线程进入睡眠状态,等待一定的时间之后,自动醒来进入到可运行状态,但它不会马上进入运行状态,因为其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级; (b)正在运行的线程因为其它原因而阻塞。 一个线程对象调用了sleep方法之后,并不会释放他所持有的所有对象锁,所以也就不会影响其他进程对象的运行。但在 sleep的过程中过程中有可能被其他对象调用它的interrupt(),产生InterruptedException异常,如果你的程序不捕获这个异常,线程就会异常终止,进入TERMINATED状态,如果你的程序捕获了这个异常,那么程序就会继续执行catch语句块(可能还有finally语句块)以及以后的代码。注意sleep()方法是一个静态方法,也就是说他只对当前对象有效,不能通过t.sleep()让t对象进入sleep。

 

    wait属于Object的成员方法,一旦一个对象调用了wait方法,必须要采用notify()和notifyAll()方法唤醒该进程。如果线程拥有某个或某些对象的同步锁,那么在调用了wait()后,这个线程就会释放它持有的所有同步资源,而不限于这个被调用了wait()方法的对象。从而使线程所在对象中的其它synchronized数据可被别的线程使用。 wait()方法也同样会在wait的过程中有可能被其他对象调用interrupt()方法而产生InterruptedException,效果以及处理方式同sleep()方法。

数据年度:2000-2024包含的82个统计指标如下:年份省份城市区县区县代码所属地域胡焕庸线行政区域土地面积(平方公里)乡及镇个数(个)乡个数(个)镇个数(个)街道办事处个数(个)村民委员会个数(个)年末总户数(户)乡村户数(户)年末总人口(万人)乡村人口(万人)户籍人口数(万人)年末单位从业人员(人)城镇单位在岗职工人数(人)乡村从业人员数(人)农林牧渔业从业人员数(人)年末第二产业单位从业人员(人)年末第三产业单位从业人员(人)农业机械总动力(万千瓦特)农作物总播种面积(千公顷)机收面积(公顷)固定电话用户(户)移动电话用户数(户)宽带接入用户数(户)地区生产总值(万元)第一产业增加值(万元)第二产业增加值(万元)人均地区生产总值(元/人)第三产业增加值(万元)工业增加值(万元)农业增加值(万元)牧业增加值(万元)城镇单位在岗职工平均工资(元)城镇居民人均可支配收入(元)农村居民人均可支配收入(元)地方财政一般预算收入(万元)各项税收(万元)地方财政一般预算支出(万元)城乡居民储蓄存款余额(万元)年末金融机构各项贷款余额(万元)出口额(美元)实际利用外资金额(美元)农作物总播种面积(千公顷)常用耕地面积(公顷)机收面积(公顷)设施农业占地面积(公顷)农用机械总动力(千万瓦)粮食总产量(吨)棉花产量(吨)油料产量(吨)肉类总产量(吨)农林牧渔业总产值(万元)农业增加值(万元)牧业增加值(万元)规模以上工业企业数(个)规模以上工业总产值(万元)城镇固定资产投资完成额(万元)全社会固定资产投资(万元)社会消费品零售总额(万元)房地产开发投资(亿元)普通小学学校数(个)普通中学学校数(个)普通小学专任教师数(人)普通中学专任教师数(人)普通小学在校生数(人)普通中学在校学生数(人)中等职业教育学校在校学生数(人)医院、卫生院床位数(床)医院卫生院卫生人员数_卫生技术人员(人)医院卫生院卫生人员数_执业医师(人)各种社会福利收养性单位数(个)各种社会福利收养性单位床位数(床)全社会用电量(万千瓦时)城乡居民生活用电量(万千瓦时)废气中氮氧化物排放量(吨)废气中烟尘排放量(吨)工业废气中二氧化硫排放量(吨)艺术表演场馆数_剧场、影剧院(个)公共图书馆总藏量(千册)体育场馆机构数(个)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值