程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Locking on Strings大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Locking on Strings?

开发过程中遇到Locking on Strings的问题如何解决?下面主要结合日常开发的经验,给出你关于Locking on Strings的解决方法建议,希望对你解决Locking on Strings有所启发或帮助;

该字段本身不在两个实例之间共享。它们是不同的 领域。但是,它们以相同的值开始,因为要插入字符串文字 。

这意味着,当该synchronized块在一个 线程中获取字符串的监视器时,它将阻止另一线程获取同一监视器。这是 理解的重要synchronized区块获取锁 与相关监控值字段的-它并不重要 ,有涉及到两个不同的领域。

道德:不要同步字符串,尤其是文字。文字 特别糟糕,因为在这种情况下,您可能会拥有另一个类,其 代码与相同A,并且还会尝试使用相同的 监视器进行同步。

解决方法

2 Questions:

  1. str field is shared between two instance of A type [line 2] @H_944_16@
  2. what’s implications according to following code ?@H_944_16@

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,请注明来意。
标签:on