小编Dan*_*iel的帖子

线程互斥部分

您好,我刚刚接受电话采访我无法回答这个问题,我想知道答案,我相信,建议找到您不知道的答案.请鼓励我理解这个概念.

他的问题是:

"synchronized块只允许一个线程一次进入互斥段.当一个线程退出synchronized块时,synchronized块没有指定哪个等待线程接下来会进入互斥段?使用synchronized和方法在Object中,你能实现先到先得的互斥部分吗?保证线程按到达顺序进入互斥部分?

 public class Test {
   public static final Object obj = new Object();

   public void doSomething() {
     synchronized (obj) {
          // mutual exclusive section
     }
   }
 }
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading

16
推荐指数
2
解决办法
4058
查看次数

Java中具有相同价值的字符串?

一个快速而混乱的问题.如果A类和B类内有这个: -

String name="SomeName"; 
Run Code Online (Sandbox Code Playgroud)

并且这两个类都是实例化的,两个实例引用变量"name"的相同内存位置是否正确,当我们执行此objA.name或objB.name?它具有值"SomeName",并且由于String是不可变的,因此同一JVM的两个类的多个实例重复使用相同的变量?我在网上看过,除非有

String example=new String("something"); 
Run Code Online (Sandbox Code Playgroud)

如果使用,前一个声明总是创建一个副本,并且它将被使用,直到它的所有应用程序都被终止以回收内存.注意:我看到了几个答案,我依靠哪一个答案,有人可以得出结论.谢谢大家的努力,欣赏它.

java string object

11
推荐指数
1
解决办法
8472
查看次数

标签 统计

java ×2

concurrency ×1

multithreading ×1

object ×1

string ×1