【发布时间】:2015-03-03 14:36:11
【问题描述】:
AtomicReference 和 Synchronized 之间有什么区别吗?
例如
public class Internet {
AtomicReference<String> address;
public String getAddress(){
return address.toString();
}
public void setAddress(String address) {
this.address.set(address);
}
}
并且我将类传递给一些尝试同时使用该类的线程,如果我使用这个是不是同样的事情:
public class Internet {
String address;
public String getAddress(){
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
然后在线程中使用synchronized之前访问类?
【问题讨论】:
-
功能是一样的,如果你要问的话。并发模型不同。
-
参见docs.oracle.com/javase/tutorial/essential/concurrency/… “对于这个简单的类,同步是可以接受的解决方案。但对于更复杂的类,我们可能希望避免不必要的同步对活动性的影响。”如上所述,它们在功能上是相同的。
标签: java multithreading atomic synchronized