Есть поле int _counter; инкрементируется из нескольких потоков. Требование: корректный подсчёт, минимальные накладные расходы, без блокировок. Что выбрать?
👾 — Объявить _counter как volatile и использовать ++_counter
👍 — Использовать Interlocked.Increment(ref _counter)
🥰 — Оборачивать ++_counter в lock
⚡️ — Вставить Thread.MemoryBarrier() до и после ++_counter
Библиотека задач по C#
Post #1180
1.56K
- 👍 36
- 🥰 1
- 👾 1