[code="java"]public class IncreaseTest {
private int value = 0;
public synchronized int increment() {
return value++;
}
}[/code]
方法increment()是线程安全的吗?还是必须要加上关键字:volatile
[code="java"]private volatile int value = 0;[/code]
[code="java"]public class IncreaseTest {
private int value = 0;
public synchronized int increment() {
return value++;
}
}[/code]
方法increment()是线程安全的吗?还是必须要加上关键字:volatile
[code="java"]private volatile int value = 0;[/code]
是的,因为你已经加了synchronized keyword 了,就是所谓的原子性保证了。
有关原子性的问题可以看看 《thinking in java》 的 concurrency 部分内容。