一个线程函数模板

http://zhidao.baidu.com/question/41421810.html

如果是在用VC中想用多个线程运行同样的任务,而这些任务之间没有通讯问题和内存共享的问题,那可以用下面的模板:

DWORD WINAPI TaskThreadProc(LPVOID)
{
// 独立任务
// ...
}

void RunTaskUseMultiThread(int nThreadCount) // 线程个数为nThreadCount
{
HANDLE* threads = new HANDLE[nThreadCount]; // 线程句柄,对线程进行状态的控制时用到
DWORD* idThreads = new DWORD[nThreadCount]; // 线程id,给线程发消息时用到
int i;
for (i = 0; i < nThreadCount; i++)
{
threads[i] = CreateThread( NULL, 0, TaskThreadProc, NULL, CREATE_SUSPENDED, &idThreads[i]); // 创建线程
}
for (i = 0; i < nThreadCount; i++) // 由于生成的是CREATE_SUSPENDED的线程,所以这里开始让线程开始运行
ResumeThread(threads[i]);
WaitForMultipleObjects(nThreadCount, threads, TRUE, INFINITE); // 等待线程运行结束
for (i = 0; i < nThreadCount; i++)
CloseHandle(threads[j]); // 销毁线程
delete [] threads;
delete [] idThreads;
}

先放在这里,后面再看!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值