对互斥锁的一种封装

原创 2016年08月30日 23:17:13
#include<pthread>

typedef  pthread_t Mutex_t;


// 主要用于定义互斥锁的定义,以及提供加锁解锁的接口
class STH_Mutex{
    friend class STH_Mutex_Gruad;
    public:
        STH_Mutex()
            {
                pthread_mutex_init(&mutex_,NULL);
            }
        ~STH_Mutex()
            {
                destroy();
            }
    private:
        int lock()
            {
                return pthread_mutex_lock(&mutex_);
            }
        int unlock()
            {
                return pthread_mutex_unlock(&mutex_);
            }
        int destroy()
            {
                return pthread_mutex_destroy(&mutex_);
            }

    private:
        Mutex_t mutex_;
};  // end class STH_Mutex 

// 对象在创建时对指定的互斥锁进行加锁,析构时对互斥锁进行解锁

class STH_Mutex_Gruad{
      public:
          STH_Mutex_Gruad(STH_Mutex* ptr):mutex_lock_(ptr);
              {
                mutex_lock_->lock();
              }
        ~STH_Mutex_Gruad()
            {
                mutex_lock_->unlock();
            }
      private:
          STH_Mutex* mutex_lock_;
};  // end class STH_Mutex_Gruad
版权声明:本文为博主原创文章,未经博主允许不得转载。

封装linux 条件互斥锁

linux互斥锁 与 条件变量的简单封装
  • LHJ884
  • LHJ884
  • 2015年07月27日 23:38
  • 787

用c++简单的封装线程c中互斥锁

#include #include #include //用c++简单的封装互斥锁 class LOCK { private: pthread_mutex_t mutex; publ...
  • sinat_22815613
  • sinat_22815613
  • 2017年05月15日 23:19
  • 531

C++互斥锁与条件变量的封装使用

互斥锁类的封装:#ifndef _MUTEXLOCK_H #define _MUTEXLOCK_H#include #include class MutexLock { friend cla...
  • y396397735
  • y396397735
  • 2016年06月28日 22:09
  • 563

互斥锁的概念和使用方法。

在单线程条件下,由于对数据操作,在同样的时间下,只有一个线程来操作。所以不用担心数据的同步问题。现代的操作系统,大都提供并发机制,虽然有时候是表面的并发。在Linux中,并发用的最多的是基于线程的并发...
  • ly03091234
  • ly03091234
  • 2014年04月16日 16:18
  • 4342

开源MVC框架Struts (一) 对Servlet进一步封装和抽象

介绍 先不说Struts详细的工作流程以及其内部组成原理,先介绍一下它是干什么用的?什么时候用?想了解Struts前提你必须了解MVC设计模式,它是根据MVC开发出来的一套标准开发流程,你也可以...
  • lilongsheng1125
  • lilongsheng1125
  • 2013年08月10日 20:04
  • 2240

C++封装POSIX 线程库(一)互斥锁的封装

C++封装POSIX 线程库,互斥锁的封装
  • zhangxiao93
  • zhangxiao93
  • 2016年07月25日 16:11
  • 1065

C++11:互斥锁对程序性能的影响

  • ouyangxiaozi
  • ouyangxiaozi
  • 2017年12月12日 10:26
  • 144

互斥锁读取与顺序读取性能比较

package concurrencyTest; import java.util.Iterator; import java.util.concurrent.ConcurrentHashMap; ...
  • cloudeagle_bupt
  • cloudeagle_bupt
  • 2016年09月23日 01:00
  • 392

线程同步与互斥:互斥锁

为什么需要互斥锁? 在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在此刻使用打印机打印...
  • lianghe_work
  • lianghe_work
  • 2015年08月18日 09:59
  • 9333

通过互斥锁实现数组多线程互斥插入示例

本例演示了多线程互斥的向StringBuffer中插入字符的情况,能够保证插入字符的完整性(不重复,也不丢失),但是不保证顺序。 需要注意的几个地方: pthread多线程程序编译的时候要加入-l...
  • u014495327
  • u014495327
  • 2014年04月25日 14:23
  • 569
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对互斥锁的一种封装
举报原因:
原因补充:

(最多只允许输入30个字)