在C 中实现同步锁计算机等级考试

文章作者 100test 发表时间 2010:01:01 12:58:44
来源 100Test.Com百考试题网


  在做C 的项目中发现,由于用惯了c#的lock(){}和java的Synchronize(){},windows自带的临界区,互斥量,内核事件,信号量用起来不太习惯,于是打算自己在vc 中封装一个类似的东东。封装这个我决定采用一个临界区来做,最终的形式如下:
  synchronize(object)
  {
  //....无论此处是否发生异常,object都能被释放掉。和c#的lock一样。
  }
  不多说,开始代码。先定义一个Mutex类
  class Mutex
  {
  public:
  Mutex(void).
  ~Mutex(void).
  void Lock().
  void UnLock().
  private:
  CRITICAL_SECTION m_criticalSection.
  }.
  实现如下
  Mutex.cpp文件
  #include "Mutex.h"
  Mutex::Mutex(void)
  {
  InitializeCriticalSection(

相关文章


C 对象是怎么死的?Win32线程篇计算机等级考试
VC中隐藏对话框窗口计算机等级考试
计算机二级C 辅导:自绘调色板计算机等级考试
C 的指针和引用探秘计算机等级考试
在C 中实现同步锁计算机等级考试
C 指针及其有关的问题计算机等级考试
FunctionalProgramming与C 的模板元编程计算机等级考试
计算机二级C 辅导:GUNC正则表达式计算机等级考试
计算机二级C 辅导:ftruncate和msync计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛