举个例子:DWORD CTalkDialog::A(LPVOID lpParameter)
{
CreateThread(0,0,&B,0,0,0);
int i=1;
Return 0;
}DWORD CTalkDialog::B(LPVOID lpParameter)
{
.......一系列代码
}问题: i是多久被赋值的,是CreateThread(0,0,&B,0,0,0),创造B线程后,等B线程执行完成后,i才被赋值呢?
还是CreateThread(0,0,&B,0,0,0);然后i就被赋值了?
{
CreateThread(0,0,&B,0,0,0);
int i=1;
Return 0;
}DWORD CTalkDialog::B(LPVOID lpParameter)
{
.......一系列代码
}问题: i是多久被赋值的,是CreateThread(0,0,&B,0,0,0),创造B线程后,等B线程执行完成后,i才被赋值呢?
还是CreateThread(0,0,&B,0,0,0);然后i就被赋值了?
再问一下,A线程退出后,B线程会有机会执行吧! 不会像主线程退出后,其他线程就自动释放自己的内存资源!
A线程退出后,B线程可以执行。
LZ吃饱饭没事干.鉴定完毕.
建议先赋值.这样线程内可以读取值.否则就完蛋鸟.