虽然缩小同步块可以提高可伸缩性,但同步块可能太小。 “可以”不应该是“不能”吗?

问题描述 投票:0回答:1

我正在阅读Java Concurrency in Practice,并遇到以下片段。

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

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

java synchronized
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.