我创建了一个类,它有许多公共函数,一些写数据,一些只读数据。
这需要我在3个线程中执行此操作,我没有其他选择。
我知道如果我只是为了阅读而访问共享资源,那么我不需要保护,但是当我使用函数来读取共享资源的私有变量时,我不知道它是否有任何不同。
例如。我想做...
globalObject.readColour();
这是一个读取全局对象颜色的函数。
这是否意味着我必须在此时保护线程,或者是否可以在没有任何风险的情况下读取值?
我正在研究mbed,它支持c和c ++ 98。
这个问题类似于this one
如果所有线程只读取变量,则不需要互斥(或类似),但如果任何线程执行写入操作,则应使用互斥锁。