多线程
文章平均质量分 52
胡老哈
学电子出身,玩过嵌入式,玩过MFC,熟悉一些常用的通讯协议,用过几个开源库,喜欢自己做东西玩。现在一边玩C++,一边学Android,顺便学点Java。
展开
-
线程同步与互斥的总结
最近回顾了下多线程的一些概念,主要的是线程间的同步以及互斥,简单记录下。 基本概念 2个基本概念: 同步:按预定的先后次序进行运行。比如:A.B.C3个线程,A先运行,然后B,然后C。互斥:某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 相关函数 关键区/临界区 CRITICAL_SECTION 临界原创 2013-01-24 19:49:19 · 1902 阅读 · 0 评论 -
创建一个线程用哪个好?--CreateThread._beginthread.AfxBeginThread比较
创建一个线程看上去很简单,但其实没那么简单。 windows下创建线程函数一般有3个:CreateThread、_beginthread和AfxBeginThread,这3个到底有啥区别?什么时候应该用哪个? 这个问题我之前一直不是很明白,直到这次回顾线程相关知识的时候,才仔细了解了下,现在记录下来,也供他人参考。 CreateThread 这个是Win32 API,一般不推荐原创 2013-01-24 20:15:00 · 2396 阅读 · 0 评论 -
线程间通信
线程间通信比较简单,一般有2种方法: 全局变量消息函数 全局变量 使用全局变量进行线程间通信,主要需要注意一个互斥与同步的问题,需要做一些限制工作。 消息函数 使用消息函数基本就是PostMessage之类的,或者PostThreadMessage。 然后在接受消息的线程里做相应的处理即可。 这部分内容还是比较简单的。原创 2013-01-25 11:43:52 · 1052 阅读 · 0 评论 -
CloseHandle以及内核对象的释放
最近回顾了下多线程的东西,碰到CloseHandle函数,之前也碰到过,但是自己积累不足,所以也没理解明白。这次再次碰到,想想积累的也差不多了,索性就搞个明白。 函数说明 BOOL CloseHandle(HANDLE hObject); 参数 hObject :代表一个已打开对象handle。 返回值 TRUE:执行成功; FALSE:执行失败,可以调用GetLastErr原创 2013-01-15 09:02:39 · 4655 阅读 · 0 评论