Я хочу, чтобы иметь возможность увеличивать счетчик атомарно, и я не могу найти никаких ссылок на то, как это сделать.
Добавление дополнительной информации на основе комментариев:
- Вы используете GCD? Нет. Я не использую GDC. Необходимость использовать систему очередей для увеличения числа кажется излишним.
- Вы понимаете безопасность основных потоков? Да, иначе я бы не стал спрашивать об атомных приращениях.
- Эта переменная является локальной? Нет.
- Это уровень экземпляра? Да, он должен быть частью одного экземпляра.
Я хочу сделать что-то вроде этого:
class Counter {
private var mux Mutex
private (set) value Int
func increment (){
mux.lock()
value += 1
mux.unlock()
}
}