线程里面的变量需不需要互斥访问?
class TComReadThd : public TThread
{
private:
int m_iCmd; //命令类型
int m_iWaitLen; // 想读取的长度
int m_iRecLen; // 已读取的长度
char Recbuf[1024];
protected:
void __fastcall Execute();
public:
void SetWaitLen(int iLen);
__fastcall TComReadThd(bool CreateSuspended);
};
SetWaitLen 函数功能是 设置m_iWaitLen的值,供主线程调用
void __fastcall Execute(); 函数里面有 对m_iWaitLen的读写
问题:
a: m_iWaitLen 需不需要做线程互斥?
b: 如果把 m_iWaitLen定义为全局变量,需不需要 做线程互斥?