线程的问题:这样会不会冲突?
haluo 2004-01-27 12:50:56 我刚学线程,有些概念不是很清楚,请教大家:
先请看我的代码示例:
这是类的定义:
class CSgipAccessDB : public CWnd
{
...
public:
int i;
bool UpdateFlag();
...
};
以下是线程函数,是全局函数:
UINT Thread_A(LPVOID lpvoid)
{
CSgipAccessDB sgipAccessDB;
sgipAccessDB.i = 1;
sgipAccessDB.UpdateFlag();
return 0;
}
UINT Thread_B(LPVOID lpvoid)
{
CSgipAccessDB sgipAccessDB;
sgipAccessDB.i = 2;
sgipAccessDB.UpdateFlag();
return 0;
}
UINT Thread_C(LPVOID lpvoid)
{
CSgipAccessDB sgipAccessDB;
sgipAccessDB.i = 3;
sgipAccessDB.UpdateFlag();
return 0;
}
我的问题是:
在三个全局的线程函数里都用同一个类构造了对象,并执行了成员函数和变量,这样会引起数据冲突吗?三个线程里构造的对象是位于三个不同的地址空间,还是共享一个空间?
谢谢大家!