У меня есть переменная счетчика, к которой будут обращаться несколько потоков, которые будут увеличивать / уменьшать ее. Он не должен обновляться несколькими потоками одновременно.
Я знаю, что вы можете создать объект мьютекса, который должен быть получен до того, как переменная, о которой идет речь, может быть изменена. Критический раздел в этом случае не подходит, потому что существует более одной функции, которая может изменить рассматриваемую переменную.
Есть ли еще что-нибудь, что я могу сделать без мьютекса? Использование мьютекса снижает производительность (см. http://www.codeguru.com/forum/showthread.php?t=333192). Я считаю, что в Java есть ключевое слово, которое вы можете использовать в объявлении переменной для достижения этой цели (называется ли это «синхронизированный»?), Но есть ли вообще такое в C ++?
Я знаю, что volatile - не то ключевое слово, которое я ищу.
Большое Вам спасибо.
synchronized
в java эквивалентен критическому разделу, который отличается отvolatile
и атомарного увеличения / уменьшения. - person finnw   schedule 28.01.2010