例如,这个更好吗?
try {
synchronized (bean) {
// Write something
}
} catch (InterruptedException e) {
// Write something
}
或者这样更好:
synchronized (bean) {
try {
// Write something
}
catch (InterruptedException e) {
// Write something
}
}
我想知道哪种方法是最佳实践。显然,考虑到我必须同步try块中的所有代码。我不是在谈论只需同步try块中部分代码的情况(在这种情况下,我认为将同步块放在try内会更好)。 我的疑问是关于需要同步整个try块的情况。
catch
块中的代码@Cratylus。 - GrayInterruptedException
作为示例,对于未指定的操作而言,这种有些通用的异常意味着什么是不清楚的。我得出这个答案是因为我想确保在同步块中抛出并且没有在同步块中捕获的异常在所有情况下都会释放锁。这是我代码所需要的行为。 - Jason