class ThreadSafeClass extends Thread
{
private static int count = 0;
public synchronized static void increment()
{
count++;
}
public synchronized void decrement()
{
count--;
}
}
谁能解释为什么上面的类不是线程安全的?
synchronized
应该仅在静态方法中使用。因此,在我看来,即使您删除该increment
方法,它仍然也不是线程安全的,因为两个实例(只能通过同一实例进行同步访问)可以同时调用该方法。
increment
)的方法,那将是线程安全的。或者,如果您使用了一些锁定对象。如我所说,我不了解Java-我的评论源于C#知识。