【发布时间】:2011-08-10 09:02:42
【问题描述】:
有没有办法在 Java 中做这样的事情(可能使用Lock 而不是synchronized):
synchronized(lock) {
Thread t = spawnThread(new Runnable() {
synchronized(lock) {
doThing();
}
});
transferLockOwnership(lock, t);
}
具体来说,我想替换如下代码:
synchronized (lock) {
sendResponse(response);
doThingsAfterSending();
}
这样的:
synchronized (lock) {
Thread t = spawnThread(new Runnable() { @Override public void run() {
synchronized(lock) { doThingsAfterSending(); }
}});
transferLockOwnership(lock, t);
return response;
}
【问题讨论】:
标签: java multithreading locking