问题描述
- c++在windows操作系统下的多线程编程?
-
想在windows操作系统上的VS2010将代码实现多线程并行执行,可是之前没接触过,不知道怎么操作编代码,求大神指导!!!
解决方案
Windows多线程编程
多线程编程windows
Windows 下多线程编程
解决方案二:
http://www.cnblogs.com/china-victory/archive/2012/11/09/2763187.html
解决方案三:
把任务分割号,细分好,各个线程任务分好
其他都不复杂,虽然会有各种问题,但是都有对应的解决方案。
解决方案四:
就是这样,支持,支持,很是支持!
解决方案五:
DWORD func(LPVOID lp)
{
return 0;
}
用CreateThread(0,0,(LPTHREAD_START_ROUTINE)func,Param,&Threadid)
就可以创建一个线程了
解决方案六:
实现多线程并行执行?
是多线程,还是并行,还是多线程且并行。
多线程无非就是写一个线程函数,然后创建多个线程(用同一个函数),但是并不并行的要看cpu和操作系统的调度,
而并行的话应该是运用开发工具提供的并行功能,能实现 在单个线程中的并行操作,
解决方案七:
有两条路:第一条是使用c++语言的多线程库,例如boost中的多线程库,比较简单;
第二条是直接使用windows的多线程api,例如CreateThread,比较复杂。
就看你自己的能力了。
解决方案八:
HANDLE hs[count]={0};
int xok=0;
DWORD func(LPVOID lp)
{
xok++;
WaitForSingleObjects(hs[lp]...)
do something
return 0;
}
for(int i=0;i<count;i++)
{
HANDLE h=CreateEvent(NULL,..;
hs[i]=h;
CreateThread(0,0,(LPTHREAD_START_ROUTINE)func,i,&Threadid);
}
while(xok!=count) Sleep(10);
for(int i=0;i<count;i++)
{
SetEvent(hs[i]);
}