У меня есть следующая структура
struct info {
unsigned long a;
unsigned long b;
};
atomic <info> data;
, используемая потоком записи и потоком чтения.Читатель должен как можно быстрее реагировать на новые значения.Для этого я реализовал в читателе следующее:
while (true) {
auto value = data.load();
// do some operations given these new values
}
Эта операция очень интенсивно использует процессор.Я выбрал этот метод, потому что считаю, что он быстрее, чем, например, использование условной переменной и ожидание пробуждения потока считывателя при изменении данных.Кроме того, данные обновляются довольно часто, сотни раз в секунду.Есть ли лучший способ сделать это, пока у вас самое быстрое время реакции?