Я кодирую плагин аудиоэффектов, и я довольно новичок в C ++.
У меня есть несколько головок для чтения / записи для некоторых буферов, которые должны быть разделены между двумя потоками (один поток обработки аудио, один поток FFT / анализ).
Для большинства всех этих целых чисел (индексов в буферах) я придумал способ, которым для записи нужен только один поток, а другой может просто читать. Однако одна головка чтения должна быть доступна для записи из обоих потоков.
Мой наивный вопрос о C ++: какие типы я должен использовать для этих целочисленных переменных?
- int volatile?
- std :: atomic_int ?
Последний вопрос: для целых чисел, которые доступны только для записи в одномместо, я могу сойти с рук, просто приведя их как const
в этих прочитанных темах?