У меня есть приложение с многопоточностью.
Потоки в этом приложении читают из сопоставленного файла общей памяти.Вы можете предположить, что они никогда не пишут в него.
Теперь мне нужно расширить его так, чтобы, когда считыватель закончил чтение из файла, он обновил общую метку времени.то есть time_t last_access_time = time(NULL);
Это случается так часто, что я бы предпочел искать реализацию без блокировки, если это вообще возможно.
Как бы я мог установить или проверить текущее значениеlast_access_time
с использованием атомарных встроенных функций в G ++?
например, предположим, у меня есть эти члены класса и _last_access_time
инициализируется в time(NULL)
time_t _last_access_time;
void UpdateLastAccessTime(){
_last_access_time = time(NULL);
}
void GetLastAccessTime(){
return _last_access_time;
}
Можно ли сделать его свободным от блокировки