标签: c++ class c++98 mbed
我创建了一个类,该类具有许多公共功能,其中一些可以写入数据,而有些只能读取数据。
这要求我在3个线程内执行此操作,我别无选择。
我知道是否访问共享资源只是为了读取,所以我不必保护,但是当我使用函数读取共享资源的私有变量时,我不知道它是否有所不同
例如我正在尝试...
globalObject.readColour();
这是一个读取全局对象颜色的函数。
这是否意味着我现在必须保护线程,还是可以无风险地读取值吗?
我正在研究mbed,它支持c和c ++ 98。
答案 0 :(得分:1)
这个问题类似于this one
如果所有线程仅读取变量,则不需要互斥锁(或类似的互斥锁),但是如果有任何线程执行写操作,则应使用互斥锁。