`

封装linux的互斥类

阅读更多

#pragma once
#include <pthread.h>

class CCrtSession
{
public:
	CCrtSession()
	{
		//initialize a mutex
		pthread_mutex_init(&m_mutex, NULL); 
	}

	virtual ~CCrtSession()
	{
		pthread_mutex_destroy(&m_mutex);
	}

public:
	pthread_mutex_t& GetMutex()
	{
		return m_mutex;
	}
	
private:
	pthread_mutex_t m_mutex;
};

class CThreadMutex
{
public:
	CThreadMutex(pthread_mutex_t& mutex);
	~CThreadMutex();

private:
	pthread_mutex_t& m_mutex;
};

 

#include "ThreadMutex.h"

CThreadMutex::CThreadMutex(pthread_mutex_t& mutex):m_mutex(mutex)
{
	pthread_mutex_lock(&m_mutex);
}

CThreadMutex::~CThreadMutex()
{
	pthread_mutex_unlock(&m_mutex);
}
 
分享到:
评论

相关推荐

    linux和win32下通用的互斥锁Mutex封装

    linux和win32下通用的互斥锁Mutex封装,统一接口,可直接使用

    互斥锁+共享内存封装库,实现进程间通讯(Linux)

    Linux下提供了多种共享内存的通讯机制,常用的就是socket,但是socket通讯使用简单,但性能不佳,最优的方式还是共享内存方式。本章分享封装库,的就是基于共享内存实现的。 本分享库是基于Ubuntu16.04编译的,如需...

    c语言跨平台互斥锁封装

    在做多线程开发时,互斥锁是必...为了提供一种统一的调用方式,封装一套跨平台的互斥锁还是有必要的。 本资源在Windows、Linux、Android、IOS都可以使用。https://blog.csdn.net/u013113678/article/details/120372980

    C++跨平台条件变量和互斥锁封装

    用C++封装的跨平台条件变量和互斥量,windows环境和linux环境都测试好用, 是理解条件变量和互斥量的好demo。

    c语言跨平台共享锁封装

    共享锁也称为读写锁,其特点是读和读不互斥,读写互斥,写写互斥。在多线程开发中一般使用在多个读单个写入的场景,比如将摄像头的画面读取后显示并同时编码推流。c语言做跨平台开发,实现一个共享锁封装对象还是...

    Linux网络编程 视频 教程

    Linux网络编程(总共41集) 讲解Linux网络编程知识,分以下四个篇章。 Linux网络编程之TCP/IP基础篇 Linux网络编程之socket编程篇 Linux网络编程之进程间通信篇 Linux网络编程之线程篇 Linux网络编程之TCP/IP...

    Linux的多线程编程的高效开发经验

    线程,互斥锁,条件在 Linux 平台上对应的 API 可以用表 1 归纳。为了方便熟悉 Windows 线程编程的读者熟悉 Linux 多线程开发的 API,我们在表中同时也列出 Windows SDK 库中所对应的 API 名称。

    C++教程网《Linux网络编程》视频百度云地址

    Linux网络编程(总共41集) 讲解Linux网络编程知识,分以下四个篇章。 Linux网络编程之TCP/IP基础篇 Linux网络编程之socket编程篇 Linux网络编程之进程间通信篇 Linux网络编程之线程篇 Linux网络编程之TCP/IP...

    c++教程网的linux网络编程视频下载

    Linux网络编程(总共41集) 讲解Linux网络编程知识,分以下四个篇章。 Linux网络编程之TCP/IP基础篇 Linux网络编程之socket编程篇 Linux网络编程之进程间通信篇 Linux网络编程之线程篇 Linux网络编程之TCP/IP...

    [免费]2018年C++教程网的linux网络编程视频百度云下载链接.rar

    Linux网络编程(总共41集) 讲解Linux网络编程知识,分以下四个篇章。 Linux网络编程之TCP/IP基础篇 Linux网络编程之socket编程篇 Linux网络编程之进程间通信篇 Linux网络编程之线程篇 Linux网络编程之TCP/IP...

    linux网络编程

    Linux网络编程之TCP/IP基础篇 01TCPIP基础(一) ISO/OSI参考模型 TCP/IP四层模型 基本概念(对等通信、封装、分用、端口) 02TCPIP基础(二) 最大传输单元(MTU)/路径MTU 以太网帧格式 ICMP ARP RARP 03TCPIP基础...

    linux的多线程编程的高效开发经验

    多线程开发在 Linux 平台上已经有成熟的 Pthread 库支持。其涉及的多线程开发的最基本概念主要包含三点:线程,互斥锁,条件。其中,线程操作又分线程的创建,退出,等待 3 种。互斥锁则包括 4 种操作,分别是创建,...

    osapi 跨平台系统API封装 for C

    为跨平台(win32/linux)编程而设计的一套系统API,封装了thread,socket, mutex, semaphore, sharedmemory, int type等接口和类型。开发者使用这套接口来开发C程序时,可以做到在不同的平台上只需要一套代码,可以无视...

    osapi 跨平台系统API封装 for C++

    为跨平台(win32/linux)编程而设计的一套系统API,封装了thread,socket, mutex, semaphore, sharedmemory, int type等接口和类型。开发者使用这套接口来开发C++程序时,可以做到在不同的平台上只需要一套代码,可以...

    windows 系统API C++封装库,包含进程间通讯,互斥,内存队列等通用功能.zip

    操作系统:LInux、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信...

    C++教程网视频:linux网络编程

    Linux网络编程(总共41集) 讲解Linux网络编程知识,分以下四个篇章。 Linux网络编程之TCP/IP基础篇 Linux网络编程之socket编程篇 Linux网络编程之进程间通信篇 Linux网络编程之线程篇 Linux网络编程之TCP/IP...

    2018年C++教程网的linux网络编程视频共41集百度云下载链接.rar

    Linux网络编程(总共41集) 讲解Linux网络编程知识,分以下四个篇章。 Linux网络编程之TCP/IP基础篇 Linux网络编程之socket编程篇 Linux网络编程之进程间通信篇 Linux网络编程之线程篇 Linux网络编程之TCP/IP基础篇...

    Linux高性能服务器编程

    多线程编程 14.1 Linux线程概述 14.1.1 线程模型 14.1.2 Linux线程库 14.2 创建线程和结束线程 14.3 线程属性 14.4 POSIX信号量 14.5 互斥锁 14.5.1 互斥锁基础API 14.5.2 互斥锁属性 14.5.3 死锁举例 ...

    二、线程简析_Linux C 的历程_mysem

    二、线程简析_Linux C 的历程 初始化一个资源总量,每有一个任务减一,直至资源耗尽。使用完归还资源。可以用 互斥量 + 信号量 解决。 这里我们用之前同时用200个线程计算30000000~30000200之间的质数程序为例,...

    linux下线程池源代码

    线程池源代码,全部封装好接口,只需一步创建,一步添加任务。有相应demo参考

Global site tag (gtag.js) - Google Analytics