读书人

多线程有关问题各位帮帮忙

发布时间: 2012-06-08 12:55:24 作者: rapoo

多线程问题,各位帮帮忙
[code=C/C++][/code]
#include <iostream>
#include <windows.h>
using namespace std;
DWORD WINAPI ThreadProc(
LPVOID lpParameter // thread data
);

int main()
{
HANDLE hThread;
hThread = CreateThread(NULL,0,ThreadProc,NULL,0,NULL);

CloseHandle(hThread);

//cout<<"Main Thread"<<endl;
printf("Main Thread is running\n");

Sleep(100);
return 0;

}

DWORD WINAPI ThreadProc(
LPVOID lpParameter // thread data
)
{
cout<<"thread is running"<<endl;
return 0;
}


为什么使用iostream.h头文件时,线程没问题,

当使用iostream是cout就有问题,

而printf就没问题

[解决办法]
尽量不要用CreateThread来创建线程,而是使用_beginThread来替代。
[解决办法]

探讨

尽量不要用CreateThread来创建线程,而是使用_beginThread来替代。

[解决办法]
#1楼应该是正确的。这也说明<iostream>中的cout为了安全性,牺牲了一些性能。
[解决办法]
ls几个说的不对吧,CloseHandle并没有关闭线程,但是会使 句柄无效

这个代码没有问题的


读书人网 >C++

热点推荐