如果连续启动同一个线程且线程函数相同,怎样判断那一个线程先结束呢?谢谢
解决方案 »
- 如何根据进程句柄获取该进程的用户名
- 牛皮不是吹的,大家看看我自己写的FlashPlayer的执行效能
- FFC4十六进制的,我要转换成10000H-FFC4H=003CH
- 请教几个数据库的问题【很基础的】~~
- 写拉个窗口滚动条但是窗口不刷新请高手指教!
- 小问题
- ADO操作Access数据库中,关于时间格式的问题,求助高手
- codeguru is better than here, it's forum is so valuable, just try it
- 非常緊急的MSMQ問題
- CString 类型里面find函数为啥返回-1
- 为什么我的程序段在循环运行多次后就会异常退出呢?
- 播放WAV文件的小问题,在线等待!!!
::ExitThread(0) 0就是线程退出码
如果是程序要判断的,那就定义两个不同的变量传给两个线程
AfxBeginThread(ThreadFunction, pParam2);UINT ThreadFunction (LPVOID pParam)
{
PostMessage("Thread1 is over!");
}
for(pParam=0;pParam<100;pParam++)
AfxBeginThread(ThreadFunction, pParam);UINT ThreadFunction (LPVOID pParam)
{
CString exitque;
exitque.Format("%d",pParam);
showList.add(exitque); //将处理的线程编号填入全局对象
return 1;
}
线程返回后,其占用的进程堆栈被收回,它的返回值按照系统默认会填入一个结构等待系统处理,而你可以用MSDN规定的函数得到这个返回值,我一般不去处理线程的返回值,这个交给系统做最好,通过全局变量的设置会更轻松些。(不知道多线程操作列表类会不会有默认的机制调节,否则就要自己用临界区或者其他机制规避)
----
GetExitCodeThread()
GetThreadTime()获得一个线程执行占CPU时间