我想从一个synchronized
块中访问一个方法。这是一个例子:
public void doSomething() {
// simple stuff
// a block to reduce the synchronized code to
// what really needs to be synchronized.
synchronized(this) {
if (precondition) {
doSequentialStuff();
}
}
}
private void doSequentialStuff() {
// do stuff needs to be performed sequentially.
}
doSequentialStuff
为了编写干净的代码,我想知道明确地创建方法是否好synchronized
。恕我直言,这在语义上没有任何区别,因为在这两种情况下都有锁,this
并且保证只能从synchronized
块中访问该方法。我希望增加可读性。
有什么建议吗?
编辑: 我修改了示例以合并评论。