我正在实践中阅读Java Concurrency,并遇到以下片段。


  虽然缩小同步块可以提高可伸缩性,但同步块可能太小-需要原子操作(例如更新参与不变式的多个变量)的操作必须包含在单个同步块中。


有错字吗? “可以”不应该是“不能”吗?

最佳答案

不,是正确的,如果您有一系列原子操作,这意味着它们必须像单个操作一样一起完成,那么同步块必须包括整个序列。

09-11 15:35