您的位置:首页 > 编程语言

继续讨论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的安装目录下面找到,大家自己搜一下就有了^_^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: