继续讨论win32下的多线程编程问题
2007-05-17 11:49
176 查看
用习惯了c#里面的lock,再来用win32下面的EnterCriticalSection,感觉不太习惯——其实就是不习惯得多打些字的,呵呵。
无意中发现了一个叫做mtdll.h的头文件,里面竟然有lock和unlock。大喜!!用msdn搜了一把,没找到相关说明,奇怪哦!仔细看了看mtdll.h的说明,怪不得msdn里面没有它的影子呢,敢情人家写着呢——内部使用!!
这么好的东西不拿出来给兄弟们用,bill大叔你把它藏起来真是没有道理呀。既然你不给拿出来用,那我只好自己动手了,呵呵。
继续向下寻找,发现lock和unlock是两个方法,mtdll.h里面只是它的声明,没有实现。这个可难不住俺们的,继续挖掘,很快在一个叫做mlock.c的文件里面发现了这两个方法的实现,嘿嘿,这下可以拿来用了啊,能少写不少没意思的代码呢。看了一下实现,其实,里面就是调用了EnterCriticalSection和LeaveCriticalSection。看来我的理解是对的,lock就是EnterCriticalSection嘛,只不过包装了一下,用起来更方便罢了。
顺便又挖掘了一下,发现好多内部代码都用到了lock和unlock。看来在人家微软内部都知道这么个东西啊,而且应该很受欢迎。以后我们也可以把这段代码拿出来打个包,方便自己哦。
上面提到的文件,都可以在vs的安装目录下面找到,大家自己搜一下就有了^_^
无意中发现了一个叫做mtdll.h的头文件,里面竟然有lock和unlock。大喜!!用msdn搜了一把,没找到相关说明,奇怪哦!仔细看了看mtdll.h的说明,怪不得msdn里面没有它的影子呢,敢情人家写着呢——内部使用!!
这么好的东西不拿出来给兄弟们用,bill大叔你把它藏起来真是没有道理呀。既然你不给拿出来用,那我只好自己动手了,呵呵。
继续向下寻找,发现lock和unlock是两个方法,mtdll.h里面只是它的声明,没有实现。这个可难不住俺们的,继续挖掘,很快在一个叫做mlock.c的文件里面发现了这两个方法的实现,嘿嘿,这下可以拿来用了啊,能少写不少没意思的代码呢。看了一下实现,其实,里面就是调用了EnterCriticalSection和LeaveCriticalSection。看来我的理解是对的,lock就是EnterCriticalSection嘛,只不过包装了一下,用起来更方便罢了。
顺便又挖掘了一下,发现好多内部代码都用到了lock和unlock。看来在人家微软内部都知道这么个东西啊,而且应该很受欢迎。以后我们也可以把这段代码拿出来打个包,方便自己哦。
上面提到的文件,都可以在vs的安装目录下面找到,大家自己搜一下就有了^_^
相关文章推荐
- 解决 “VC++ 多线程编程,win32,MFC 例子(转)”在高版本上运行有错误的问题
- 多线程编程之一(Win32)——问题提出(收藏)
- 多线程编程之一(Win32)——问题提出(收藏)
- 整数划分问题继续讨论(woj Problem 1058 Exchange)
- VC多线程编程之一——问题提出
- 多线程编程之Win32 API- 1
- C++多线程编程以及epoll处理socket通信时多端口问题
- 多线程编程之一——问题提出
- (急求急求!!!!!!!!!!!!!!!)多线程编程:哲学家问题
- 多线程编程之一——问题提出
- 多线程编程之一——问题提出
- 简单的多线程编程_同步与互斥问题
- 多线程编程之一——问题提出
- 多线程编程之一——问题提出
- 编程珠玑开篇2--磁盘文件排序问题再讨论
- 多线程编程10例问题(3)
- linux下多线程编程问题收集
- Win32编程---------字符串问题
- 解决Win32 SDK编程添加list control控件程序无法运行的问题
- 多线程编程2 例程1-2(Win32 API)