5c语言教程.docVIP

  • 4
  • 0
  • 约2.5千字
  • 约 7页
  • 2017-08-23 发布于河南
  • 举报
在做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(m_criticalSection);   }   Mutex::~Mutex(void)   {   DeleteCriticalSection(m_criticalSection);//保证对象被析构时候能够删除临界区   }   void Mutex::Loc

文档评论(0)

1亿VIP精品文档

相关文档