1125得票18回答
什么是“synchronized”?

我有关于 synchronized 关键字的使用和重要性的一些问题。 synchronized 关键字的意义是什么? 哪些方法应该使用 synchronized? 在程序上和逻辑上它有什么意义?

421得票23回答
408得票23回答
避免在Java中使用synchronized(this)?

每当在SO上出现有关Java同步的问题时,一些人非常热衷于指出应避免使用synchronized(this)。他们声称,应该优先锁定私有引用。 给出的一些理由是: 一些恶意代码可能会窃取你的锁(这个非常流行,还有一个“意外”的变体) 同一类中的所有同步方法都使用完全相同的锁,这会降低吞吐...

305得票4回答
Java中volatile和synchronized的区别

我想知道在Java中将变量声明为volatile和始终在synchronized(this)块中访问变量之间的区别。根据这篇文章http://www.javamex.com/tutorials/synchronization_volatile.shtml有很多不同之处,也有一些相似之处。我特别...

230得票11回答
Java同步方法锁定对象还是方法?

如果我在同一个类中有2个同步方法,但每个方法访问不同的变量,那么2个线程是否可以同时访问这2个方法?锁定是发生在对象上,还是会针对同步方法内部的变量变得更具体? 示例:class X { private int a; private int b; public s...

224得票2回答
为什么Java 8接口方法不允许使用"synchronized"关键字?

在Java 8中,我可以轻松编写:interface Interface1 { default void method1() { synchronized (this) { // Something } } st...

221得票12回答
如果我在同一个类中同步了两个方法,它们能同时运行吗?

如果我在同一个类上同步了两个方法,它们能够同时在同一对象上运行吗?例如: 如果我在同一个类上同步了两个方法,它们能够同时在同一对象上运行吗?例如:class A { public synchronized void methodA() { //method A ...

150得票8回答
Java同步静态方法:锁定对象或类

Java文档中提到: “在同一个对象上的两个同步方法的调用是不可能交错的。” 对于静态方法来说,这意味着什么呢?由于静态方法没有关联的对象,那么synchronized关键字会锁定类而不是对象吗?

121得票4回答
Java中针对.class的同步块

这段Java代码是什么意思?它会锁定MyClass的所有对象吗?synchronized(MyClass.class) { //is all objects of MyClass are thread-safe now ?? } 那么上述代码与以下代码有何不同:synchronized(...

109得票8回答
非final字段的同步化

每次我在非final类字段上进行同步操作时,都会显示警告。以下是代码:public class X { private Object o; public void setO(Object o) { this.o = o; } ...