w.d*_*hue 0 java multithreading synchronized
我有A班和B班.
public class A() {
private static List<int> list = new ArrayList<int>();
public static List<int> getList() {
return list;
}
}
public class B() {
public void foo() {
synchronized(A.getList()) {
// DO Stuff
}
}
}
Run Code Online (Sandbox Code Playgroud)
在我同步的B类.这是在A的列表上,还是在B对A列表的引用上同步.我认为这是后者但可以使用一些帮助.
如果是这样,那么我该如何完成类似的实际工作呢?
谢谢!
它在A的列表上同步.B对A列表的引用是什么意思?如果您使用A.getList()进入A使用列表或B,则它们都引用相同的对象.当您同步它时,您将阻止其他线程在同一对象上进行同步,无论它从哪里引用.
| 归档时间: |
|
| 查看次数: |
1583 次 |
| 最近记录: |