首页 > 编程语言 > 详细

c++开发过程中遇到的线程问题

时间:2015-01-13 17:49:44      阅读:128      评论:0      收藏:0      [点我收藏+]

     多线程编程,在不同的编程语言或库下面有不同的 多线程方法。

如 MFC下的 pThread = AfxBeginThread(mythread2, (LPVOID)this, NULL); 不太好用。

下面是C++标准库下的多线程编程方法,多线程编程一般都与信号关联,通过信号来决定线程的启动、挂起、重启、关闭等。

主要有这几个函数

 1、创建一个信号 Handle hEvent =  CreateEvent(NULL,true,true,NULL);

2、创建一个线程 Handle hThread = CreateThread(NULL, 0, InitThreadProc, this, 0, &m_dwThreadID);

 

3、SetEvent(m_hEvent);设置信号,有信号状态

4、ResetEvent(m_hEvent);重置信号,无信号状态

 

5、Dword dwStatus = WaitForSingleObject(m_hEvent, INFINITE);等待一个信号,ININITE无限等下去,直到有信号接受,返回;若是0,马上返回。

 

6、ColseHandle(m_hThread);//关闭一个线程。

7、GetExitCodeThread(m_hThread, &dwCode);获取一个已终止线程的退出代码,非0表示成功,0表示失败,会设置GetLastError().

 

类中也可以设置一些参数,当类的局部变量,供类使用。

基本上C++的多线程编程就这么多,总之线程和信号的连接使用,变化多端。

 

c++开发过程中遇到的线程问题

原文:http://blog.csdn.net/aspzhenshuai/article/details/42677667

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!