Да нет же, это как раз правильный подход именно к мультитредовой синхронизации.
Я почитал первую и третью ссылку и понял (вторую ссылку я читал как-то давно, но понял совсем не то, что понял сейчас).
Слово volatile в C и C++ имело несколько другой смысл и для другого предназначалось - для прямой работы с железом, например.
К этому и претензия - почему в современной Java тоже есть "volatile", а не какое-нибудь там что-нибудь, я не знаю. Это весьма запутывает. На самом деле, речь ведь идет об определении блоков, связанных отношением happened-before.
no subject
Date: 2009-03-16 04:20 pm (UTC)Я почитал первую и третью ссылку и понял (вторую ссылку я читал как-то давно, но понял совсем не то, что понял сейчас).
Слово volatile в C и C++ имело несколько другой смысл и для другого предназначалось - для прямой работы с железом, например.
К этому и претензия - почему в современной Java тоже есть "volatile", а не какое-нибудь там что-нибудь, я не знаю.
Это весьма запутывает.
На самом деле, речь ведь идет об определении блоков, связанных отношением happened-before.