问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一个想休息的线程:JVM到底是怎么处理锁的

发布网友 发布时间:2022-05-06 22:36

我来回答

1个回答

热心网友 时间:2023-09-28 09:17

1.       程序通过Thread t = new Thread(),调用t.start()启动一个线程,使该线程进入可运行(Runnable)的状态。

2.       由JVM的决定去调度(Scheler) 在可运行状态(Runnable)下的线程,使该线程处于运行 (Running) 状态,由于JVM的调度会出现不可控性,即不是优先级高的先被调用,可能先调用,也可能后调用的的情况。运行状态(Running)下,调用礼让yield()方法,可以使线程回到可运行状态(Runnable)下,再次JVM的调度(并不依赖优先级)。

3.       线程在Running的过程中可能会遇到阻塞(Blocked)情况

①.调用join()和sleep()方法,sleep()时间结束或被打断,join()中断,IO完成都会回到Runnable状态,等待JVM的调度。

②.调用wait(),使该线程处于等待池(wait blocked pool),直到notify()/notifyAll(),线程被唤醒被放到锁池(lock blocked pool ),释放同步锁使线程回到可运行状态(Runnable)

③.对Running状态的线程加同步锁(Synchronized)使其进入(lock blocked pool ),同步锁被释放进入可运行状态(Runnable)。

4.       线程run()运行结束或异常退出,线程到达死亡状态(Dead)

sleep和wait的区别有:

1,类:这两个方法来自不同的类分别是Thread和Object

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

3,域:wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在

任何地方使用

synchronized(x){

x.notify()

//或者wait()

}

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

5,停:其实两者都可以让线程暂停一段时间,但是本质的区别是一个线程的运行状态控制,一个是线程之间的通讯的问题

notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。

notifyAll():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
y53s手机参数及价格 vivoy53s5g手机参数 五粮液五粮印象精制52度浓香型白酒500ml 五粮液 五粮印象 精制 52度 浓香型白酒 500ml-详细介绍 五粮液 五粮印象 精制 52度 浓香型白酒 500ml-购买最佳价格 五粮液 五粮印象 精制 52度 浓香型白酒 整箱装-详细介绍 五粮液五粮印象珍品-适用对象 白酒推荐-五粮液五粮印象珍品52%vol浓香型白酒500ml单瓶装 五粮液五粮印象精制52度浓香型白酒-适用对象 星座血型生肖分析摩羯座属蛇A型 鲁迅作品中人物孔乙己的悲惨命运既是整个社会环境*迫的结果,也是他那可怜又可笑的个性特征所致:他“站 孔乙己是哪个时代的人 关于《孔乙己》的研究报告 《孔乙己》文章主旨是什么? 为什么鲁迅要写《孔己已》这篇小说 孔乙己人物分析 导致孔乙己死亡的原因 苹果11为什么比X. Xs都便宜,我在考虑买苹果11还是买苹果8p价格差不多... 《孔乙己》的社会背景、创作原因、人物性格、与现在人的区别是什么? 请联系时代背景分析鲁迅笔下孔乙己这个人写出人物形象(一定要联系时代背景)300字 鲁迅为什么要写《孔乙己》 oppo手机怎么建立文件夹放图片 巜孔子乙》时代背景是 为什么我的ipad不能更新,正在联系软件更新服务器 孔乙己的创作背景 孔乙己的写作背景是什么? 有没有社区工作者可以讨论的网站呀,最好是山东的谢谢 劳动局工资投诉电话 什么情况下是有借必有贷借贷必相等 为什么会计里这么肯定有借必有贷,借贷必相等呢? c++ condition.wait会释放锁吗 苹果线充不进电怎么办 WORD2007中怎么用格式刷修改里面文字的格式 如何在WORD中用类似于刷子之类的工具,就是可以选一次,多次用于同一种性质的格式 名字代表什么意义??? 名字代表什么意义? 为什么有时看亲热戏会感觉下边湿湿的 我在看"那种"片的时候下面会湿,是怎么回事,严重么 是男的 我每次看色。小说的时候下面都会很痒,还湿湿的,为什么啊? 女人说见到我,会心跳加速,下面湿 为什么看言情小说有时下面会湿湿的? 手机上有别人的身份证号码,能不能查到人家的行踪,坐了哪一班飞机_百度问一问 什么是QQ送赞?花钱吗?怎么玩? 为什么QQ里一个好友会给我另一个好友点赞动态? 三星蓝牙耳机如何充电? 为什么有些人qq空间发说说一直给自己点赞?就是无论内容是什么,都给自己赞。 我的qq为什么每天都自动给某一个好友点了名片赞?这到底是怎么回事? 最近腾讯qq上经常会有集赞送iphone的是真是假,谁有经验?? 陌生人给你QQ点赞的原因是什么,这个人不是好友也不是你QQ群里的人,他为什么会给你点赞?? 为什么我qq里头会有很多给陌生人点的名片赞?