假设我有很多线程和一个简单的、可简单复制的非数组(基本类型float,如uint16_t等)变量,称为flag。其中只有一个线程经常设置变量的值,而其他线程只从中读取值而不写入它。在这种情况下,我是否必须使变量原子化或通过互斥体保护它?我知道当多个线程写入变量时我必须保护该变量,但在我的情况下有必要这样做吗?它依赖于平台吗?
float
uint16_t
flag
c++ multithreading mutex atomic
atomic ×1
c++ ×1
multithreading ×1
mutex ×1