我有这样的方法:两个实例(同步某个对象)平行
public void processChildNodes(Node result, Node source) {
synchronized (source) {
NodeList nodes = source.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++) {
processNode(result, nodes.item(i));
}
}
}
现在,让我们说,我想打电话给processChildNodes与类的两个不同的实例中,这方法是相同的来源(方法的第二个参数),是否有可能这两个执行可以并行?
答案是,不。 – Mordechai 2013-05-14 05:43:01
为什么这与单个对象上的同步有什么不同?由于'source'在两次调用中都指向同一个对象,因此它将与在单个对象上进行同步的行为相同。为何混淆? – brainOverflow 2013-05-14 06:22:43