大佬教程收集整理的这篇文章主要介绍了Locking on Strings,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
该字段本身不在两个实例之间共享。它们是不同的 领域。但是,它们以相同的值开始,因为要插入字符串文字 。
这意味着,当该synchronized块在一个 线程中获取字符串的监视器时,它将阻止另一线程获取同一监视器。这是 理解的重要synchronized区块获取锁 与相关监控值字段的-它并不重要 ,有涉及到两个不同的领域。
道德:不要同步字符串,尤其是文字。文字 特别糟糕,因为在这种情况下,您可能会拥有另一个类,其 代码与相同A,并且还会尝试使用相同的 监视器进行同步。
2 Questions:
class A implements Runnable {
String str = "Hello"; // line 2.
public void run(){
Synchronized(str){
System.out.println(str+" "+Thread.currentThread().getName());
Thread.sleep(100);
System.out.println(str+" "+Thread.currentThread().getName());
//anything
}
}
public void static main(String[] args){
Thread one = new Thread(new A(),"one").start();
Thread two = new Thread(new A(),"two").start();
}
}
以上是大佬教程为你收集整理的Locking on Strings全部内容,希望文章能够帮你解决Locking on Strings所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。