java线程同步问题,当时线程同步,为什么要锁定当前对象只锁定需要同步的代码不行吗?谁能解释一下为什么?
为什么要锁定当前对象只锁定需要同步的代码不行吗?
答案是当前可以只锁定需要同步的代码
可以使用同步方法或同步代码块的方式,同步代码块也不一定要使用当前对象做为锁,可以使用任何对象。
也就是当一个线程获得进入同步代码块时,其他线程需要等待,以哪个对象为锁,则会以哪个对象为控制的范围。
这个要看情况,比如说你的对象有两个成员方法,它们都会去操作一个成员变量。那么如果只锁定当前方法,那么还是可能存在脏数据读取的问题。
相关文章: 线程池嵌套线程池的控制应用(servlet程序控制新线程池)关于writer中锁的问题各位老大,帮忙找一下下错嘛
推荐圈子: 90后的java开发
更多相关推荐
Java 线程同步问题也不是什么新鲜问题了,这里做一个总结吧。
线程同步时,调用一个 synchronized 的方法,所有的 synchronized 的方法都被锁定,其他的方法不受影响。
看一个例子:答案就在这里:Java 关于线程同步的问题
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?