关于java线程同步的问题

java线程同步问题,当时线程同步,为什么要锁定当前对象只锁定需要同步的代码不行吗?谁能解释一下为什么?

3个回答

这个要看情况,比如说你的对象有两个成员方法,它们都会去操作一个成员变量。那么如果只锁定当前方法,那么还是可能存在脏数据读取的问题。

相关文章:  线程池嵌套线程池的控制应用(servlet程序控制新线程池)关于writer中锁的问题各位老大,帮忙找一下下错嘛
推荐圈子: 90后的java开发
更多相关推荐

      Java 线程同步问题也不是什么新鲜问题了,这里做一个总结吧。
 
 
      线程同步时,调用一个 synchronized 的方法,所有的 synchronized 的方法都被锁定,其他的方法不受影响。
 
看一个例子:答案就在这里:Java 关于线程同步的问题
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

为什么要锁定当前对象只锁定需要同步的代码不行吗?

答案是当前可以只锁定需要同步的代码

可以使用同步方法或同步代码块的方式,同步代码块也不一定要使用当前对象做为锁,可以使用任何对象。
也就是当一个线程获得进入同步代码块时,其他线程需要等待,以哪个对象为锁,则会以哪个对象为控制的范围。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问