我对线程并不是很了解。如何通过编写一个单独的类来证明MyClass类不是线程安全的?我一直在搜索,但无法找到帮助我的示例。
public class MyClass {
private static int value = 0;
public static void set(int setVal) {
value = setVal;
}
public static int get() {
return value;
}
public static void decrement() {
int temp = value;
value = --temp;
}
}
synchronized
或信号量,或者更难的是具有所有正确的happens-before关系:如果你无法证明这一点或者尚未尝试,则它就不是线程安全的。 - user207421