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

请问多线程有关问题

2012-06-30 
请教多线程问题。下面这样写是创建两个线程:C/C++ codeHANDLEhThread1CreateThread(NULL,0,ThreadProc1,NU

请教多线程问题。
下面这样写是创建两个线程:

C/C++ code
HANDLE   hThread1=CreateThread(NULL,0,ThreadProc1,NULL,0,NULL);  HANDLE   hThread2=CreateThread(NULL,0,ThreadProc2,NULL,0,NULL);  CloseHandle(hThread1);  CloseHandle(hThread2);



 现在我将其改成以下内容并调用两遍:

C/C++ code
HANDLE hThread1=CreateThread(NULL,0,ThreadProc1,NULL,0,NULL);  CloseHandle(hThread1);


这也是创建两个线程吗?

我的线程里执行的内容是一个定时器,我以在多个线程中执行那一个定时器里的内容吗?因为我的程序是单任务的下载程序,我想用多个线程跑它。我现在有一个定时器和一个线程的程序,想改进。


[解决办法]
这也是创建两个线程吗?
是的,创建了2个线程,但创建后,就CloseHandle,以后这个线程就不能wait了

我的线程里执行的内容是一个定时器,我以在多个线程中执行那一个定时器里的内容吗?因为我的程序是单任务的下载程序,我想用多个线程跑它。我现在有一个定时器和一个线程的程序,想改进。
弄一个下载任务列表,就是把下载分成很多份,然后线程从列表里获取任务
[解决办法]
使用 CEvent 类
  CEvent
类提供了对事件的支持。事件是一个允许一个线程在某种情况发生时,唤醒另外一个线程的同步对象。

用 SetEvent()和WaitForSingleObject()函数

热点排行