请高手来看一下这个类是否线程安全

来源:百度知道 编辑:UC知道 时间:2024/07/02 17:36:33
在MFC中。
定义了一个结构体,含有线程之间所有的公用数据。结构体中只含有public的数据成员变量,不含数组,没有任何成员函数。
UI线程和人工辅助线程都会对结构体进行 读和写 的操作。
我只做了这些,没有进行线程同步之类的操作。
请问这个结构体线程安全吗?
如果不安全,请问应该怎么修改?
谢谢各位了!
含有的变量:
两个CString变量,UpdateData(false)函数在UI中执行
一个int变量
一个bool变量
一个指向CProgressCtrl的指针变量,人工辅助线程中用到了SetPos()函数
还有一个指向CDialog的指针变量,用于取得UI线程对话框的句柄,来向UI发送消息

那要看是什么样的成员变量

------------------------------------
CString,据说不是线程安全的,我也试过,由两个线程读写,会出现莫名其妙的情况,表现为UI线程的显示没有变化。

static bool Running = false;
if(Running){
这里放代码
}
Running = true;

如果特别注意了,应该是可以线程安全的,如果没有注意,那就用关键字或信标什么的吧。