永发信息网

循环中的多线程同步

答案:2  悬赏:60  手机版
解决时间 2021-02-04 02:05
while(true){
synchronized(obj){
continue;
}
}

上代码中,循环的第一次,通过同步获得资源锁后执行continue操作符进入下一次循环;那么获得的资源锁,是继续持持有到循环的下一次,还是释放资源锁后进入循环的下一次时再竞争锁?
最佳答案
释放后重新锁,因为while语句不在synchronized管理的范围内
全部回答
是这样的,ss.accept()方法是阻塞的,也就是说ss所在的线程运行到accept()函数就会一直等待,直到ss接收到了一个socket请求。正因为accept()是阻塞的,所以一般会把这个函数放在一个单独的线程,这样就不会影响主线程(例如程序界面)的运行,socket编程几乎是肯定和多线程编程一起用的。accept()放进了单独的线程了自然就不会影响后面代码的执行,因为这时accept()的时间片和后续代码的时间片会由jvm调配,而不是按照代码编排的先后顺序了。 另外你对死循环的理解有偏差,所谓死循环是指循环条件永远为真而导致循环一直不结束,而由于循环内部的方法阻塞导致的循环不结束不属于死循环,这两个有本质的差别。通常socket.accept()是该放进一个死循环的,也就是你的while(true);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
理县林芳宾馆地址在什么地方,我要处理点事
当基金份额净值计价错误达到基金资产净值的(
云属的意思是什么啊?知道的请说下!
沈勇通讯怎么去啊,有知道地址的么
中基碧域周边环境怎么样?生活便利吗?
魔鬼的英文字母是什么怎么写
阿坝理县碉楼客栈地址有知道的么?有点事想过
艳阳超市地址有知道的么?有点事想过去
横扫千军吕蒙神将任务
哈达驿站青年旅舍(上孟乡)地址好找么,我有些
芳芳美容美发在什么地方啊,我要过去处理事情
万金的意思是什么啊?知道的请说下!
男朋友的身高重要么???
在皮卡堂官方交易店怎么把两个家具当成一个卖
理县阿坝州建虹客栈地址有知道的么?有点事想
推荐资讯
谁能告诉我紫红色的波长是多少?
茶东坑在哪里啊,我有事要去这个地方
长沙天成汽车配件厂我想知道这个在什么地方
优酷开通会员之后能不能下载缓存以前需要会员
128+64+32+16+8+4+2+1+2/1+4/1+8/1+16/1+32/1
小李汽车电器怎么去啊,我要去那办事
在△ABD与△A1B1C1中,若AB/A1B1=BC/B1C1=AC/A
家有儿女2中戴天高的扮演者.他实在太帅了!@
南通街/拱辰街(路口)地址有知道的么?有点事
杜淳的片酬是多少
若2m-4与3m-1是同一个数的平方根,则m的值是_
茂源不锈钢装饰我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?