码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-01-13 17:51:53      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:c++   多线程   

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

如 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++开发过程中遇到的线程问题

标签:c++   多线程   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!