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

Java的synchronized关键字怎么用?

发布网友 发布时间:2022-05-02 04:06

我来回答

5个回答

热心网友 时间:2022-06-28 01:31

你好,这个问题也曾经困扰过我,在网上找到了一个这样的例子,让我很好地理解了了synchronized。
大致的意思是这样的:一个object就像一个大房子,大门永远打开。房子里有 很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 房间的人,一个人想进入某间上了锁的房间,他来到房子门口,看见钥匙在那儿(说明暂时还没有其他人要使用上锁的 房间)。于是他走上去拿到了钥匙,并且按照自己 的计划使用那些房间。注意一点,他每次使用完一次上锁的房间后会马上把钥匙还回去。即使他要连续使用两间上锁的房间,中间他也要把钥匙还回去,再取回来。
因此,普通情况下钥匙的使用原则是:“随用随借,用完即还。”
这时其他人可以不受*的使用那些不上锁的房间,一个人用一间可以,两个人用一间也可以,没*。但是如果当某个人想要进入上锁的房间,他就要跑到大门口去看看了。有钥匙当然拿了就走,没有的话,就只能等了。

参考资料:网上博文

热心网友 时间:2022-06-28 01:31

我的理解是
sychronized 用来防止在并发的时候,两个以上的线程同时访问同一个资源。而里面的参数就是来标识作用的。举个例子:第一种情况: a 函数 sychronized(对象A),b函数 sychronized(对象B),那么在某个线程调用a函数的时候,其它的线程不能再访问a函数了,但可以访问b函数。第二种情况: a 函数 sychronized(对象A),b函数 sychronized(对象A),那么在某个线程调用a函数的时候,其它函数既不能访问a函数,也不能访问b函数。
请大家指正。

热心网友 时间:2022-06-28 01:32

synchronized
关键字,代表这个方法加锁,相当于不管哪一个线程a每次运行到这个方法时,都要检查有没有其它正在用这个方法或者其它synchronized方法的线程b(或者c
d等),有的话要等正在使用synchronized方法的线程b(或者c
d)运行完这个方法后再运行此线程a,没有的话,直接运行
它包括两种用法:synchronized
方法和
synchronized
块。

热心网友 时间:2022-06-28 01:32

这个关键字是用来锁定一个关键字或方法,就是大家都来访问调用这个对象或方法时,一次只能有一个人使用,剩余的人在后面排队。
避免多线程使用时造成数据出错。

热心网友 时间:2022-06-28 01:33

java的多线程机制
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 火锅餐厅厨房有哪些 小火锅厨房设备有哪些 java中synchronized是怎么运用的,详解··· java synchronized关键字? Java怎么使用synchronized声明一个变量? java 中 synchronized 是什么意思 java synchronized的写法 Java 中同步(syncronize)怎么使用 java中,synchronized 的使用? java中的synchronized怎么使用? java中的synchronized()的具体作用 java synchronized 有两种用法?一种是方法上加synchronized ,还有一种是什么? synchronized 加在java方法前面是什么作用 建筑劳务分包合同应由总包、分包中哪一方组织备案? ...甲方要求我们劳务分包备案,劳务分包合同可以和个人签订吗?_百度... 长春市劳务分包企业进场施工前登记备案办理条件是什么? ...合同、专业分包合同、专业承包合同、劳务分包合同的区别联系?什么是... 北京市有政府文件规定分包合同必须备案吗? word最后一页是空白页删不掉,怎么可能(二) 总承包下面有劳务分包,劳务分包资质等需要在建设单位备案吗? word有的时候最后一页是空白页,删不掉 建筑劳务分包合同用到税务局备案吗 java 中 synchronized 修饰函数时代表什么意思啊? java synchronized 的用法问题 Java怎么使用synchronized声明一个变量 java中synchronized问题 java中synchronized的参数有什么用? 属龙的人名字中带人字旁意味着什么? 怎样挑选鸡蛋好坏 UE4和3Dmax学习,有什么好的推荐吗? 我外婆80多岁了,还可以吃燕窝吗? 80到90岁老人可以吃燕窝吗?? 83岁老人能吃燕窝吗 老人可以吃燕窝吗? 按照手机里的做古早蛋糕视频能否做成功? 老年人可以吃燕窝吗?有什么好处? 汉口左岸天地怎么样?好不好?值不值得买? 83岁老人可以吃燕窝吗 老人可以服用燕窝吗?怎么吃? 我是黄冈户口,想要在武汉买房,只有买不限购的,哪里 柯基斗臀古早蛋糕怎么做? 八十多岁老人能吃燕窝吗