【发布时间】:2012-08-13 03:15:54
【问题描述】:
如果我使用synchronized,那么正在同步的对象是否必须是static?
编辑: 我的意思是说对对象的引用必须是静态的。我注意到我正在阅读的一个示例表明,为了让线程在类 A 中使用同步方法,那么对类 A 的引用必须是静态的。
所以,我想知道将对象的引用设为静态是否是一种规则,以便所有调用同步方法的线程都使用相同的实例副本。在我的示例中,同步方法用于从 1 计数到 10。因此,访问此同步方法的每个线程都应从 1 计数到 10。我在没有静态的情况下尝试过,结果不正确。
【问题讨论】:
-
引用对象的字段可能是
static,而不是对象本身。
标签: java multithreading static synchronized