首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

动态创建线程的有关问题

2013-04-20 
动态创建线程的问题使用 HANDLE* m_phWorkerThreads new HANDLE[m_nThreads]for (int i 0 i m_nTh

动态创建线程的问题
使用


 HANDLE* m_phWorkerThreads = new HANDLE[m_nThreads];  
  
 for (int i = 0; i < m_nThreads; i++) 
 {  
     m_phWorkerThreads[i] = ::CreateThread(0, 0, _WorkerThread, …);  
 } 

创建了m_nThreads个线程,因为每个线程的名字都是_WorkerThread,所以具体配置每个线程的工作的时候不知道怎么配置!具体用线程的句柄或是线程的ID怎么用呢?!
[解决办法]
m_phWorkerThreads[i]不是线程的句柄吗
[解决办法]
看你开线程做什么了,你要实现什么?如果创建的线程共用_WorkerThread函数,那就只需写一份实现了
[解决办法]
既然不一样,那线程函数你就分开写了。你不知道怎么实现?是不知道怎么去定义线程函数还是不知道在线程函数中实现你想要的功能
[解决办法]
HANDLE WINAPI CreateThread(
  _In_opt_   LPSECURITY_ATTRIBUTES lpThreadAttributes,
  _In_       SIZE_T dwStackSize,
  _In_       LPTHREAD_START_ROUTINE lpStartAddress,
  _In_opt_   LPVOID lpParameter,
  _In_       DWORD dwCreationFlags,
  _Out_opt_  LPDWORD lpThreadId
);
lpParameter [in, optional]
A pointer to a variable to be passed to the thread.
传进去不同的参数

热点排行