gpt4 book ai didi

c++ - 如何在线程之间共享一个全局对象?

转载 作者:行者123 更新时间:2023-11-30 04:49:28 24 4
gpt4 key购买 nike

我创建了一个类,里面有很多公共(public)函数,有写数据的,有只读数据的。

要求我在 3 个线程内执行此操作,我别无选择。

我知道如果我访问共享资源只是为了读取,那么我就不必保护,但我不知道当我使用函数读取共享资源的私有(private)变量时是否有任何不同.

例如我正在尝试做...

globalObject.readColour();

这是一个读取全局对象颜色的函数。

这是否意味着此时我必须保护线程,还是可以毫无风险地读取值?

我正在研究 mbed,它支持 c 和 c++98。

最佳答案

这个问题类似于this one

如果您的所有线程都只读取变量,那么您不需要互斥锁(或类似的),但如果任何线程执行写操作,您应该使用互斥锁。

关于c++ - 如何在线程之间共享一个全局对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55379348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com