一个线程可以执行几次?

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:23:26
用AfxBeginThread()创建的一个线程(只创建一次),怎么才能多次执行这个线程?

要看你为什么要多次执行它,根据你代码的需求可以好几种方法。

1、如果可以创建几次这样的线程,那多调用几次AfxBeginThread就可以了。但是如果你需要同步的话,就需要注意点同步和数据共享等方面的问题。
2、如果你只想创建一次线程,而想让他多执行几次,而且还是顺序执行的,那么你可以在线程体函数里面加入循环。

//启动并马上执行工作者线程ProcFun
::AfxBeginThread( (AFX_THREADPROC)ProcFun , (LPVOID)(this) ) ;

用户界面线程也差不多,看参数,如果用的是CREATE_SUSPENDED参数
一般的pThread->ResumeThread() 启动线程

3

把这个线程暂停掉,但不要杀死.保持睡眠状态,下次要用的时候再唤醒.