相关疑难解决方法(0)

C++是否读取和写入了原子?

我有两个线程,一个更新一个int,另一个读取它.这是一个统计值,其中读取和写入的顺序无关紧要.

我的问题是,我是否需要同步访问这个多字节值?或者,换句话说,写入的一部分可以完成并被中断,然后读取就会发生.

例如,假设值= 0x0000FFFF,其值递增为0x00010000.

是否有时间值看起来像0x0001FFFF,我应该担心?当然,类型越大,发生这种情况的可能性就越大.

我总是同步这些类型的访问,但很好奇社区的想法.

c++ multithreading synchronization

79
推荐指数
4
解决办法
3万
查看次数

我是否需要保护由一个线程写入并由多个线程读取的变量?

我正在写一个数据采集系统.该系统既可以处理来自信号数字化仪的快速数据,也可以缓慢控制/监控诸如探测器的高压系统.慢速控制系统每秒读取一次电压并将其写入数据结构.

在写入磁盘之前,每个事件都标记有其检测器的电压.为此,事件处理线程读取慢速控制/监视线程写入的结构.

如果在电压读取后X微秒发生的事件被标记为前一秒的电压读取并不重要:我是否需要使用互斥锁来保护结构中的数据结构或原子变量?

c++ multithreading mutex atomic

4
推荐指数
1
解决办法
1025
查看次数

标签 统计

c++ ×2

multithreading ×2

atomic ×1

mutex ×1

synchronization ×1