所以基本上如果你有以下情况会发生什么:
class SyncTest {
private final static List<Object> mObjectList = new ArrayList<Object>();
public synchronized void mySyncMethod(Object object) {
new Thread(new Runnable() {
public void run() {
synchronized (SyncTest.this) {
for (int i = 0; i < mObjectList.size(); i++) {
//Do something with object
}
}
}
}).start();
}
}
- 比如说,一个活动需要在迭代集合的不同线程中运行。因此,为什么要在具有不同对象的方法中创建线程。
- 这是“正确”的方式,还是有更好的方式?
- 这会带来任何威胁吗?