关于pthread_mutex_t的初始化 - [心得]

class MyLock
{
private:
    pthread_mutex_t m_lock;
public:
    MyLock()
    {
//      m_lock = PTHREAD_MUTEX_INITIALIZER; //使用这种方法初始化时GCC编译无法通过
        pthread_mutex_init(&m_lock,NULL);
    }
    ~MyLock()
    {
    }
    void Lock()
    {
        pthread_mutex_lock(&m_lock);
    }
    void unLock()
    {
        pthread_mutex_unlock(&m_lock);
    }
};
Unix网络编程卷一有讲:在静态分配时,比如全局变量,我们必须将它初始化为PTHREAD_MUTEX_INITIALIZER,而如果在共享内存中分配时,必须用pthread_mutex_init来初始化。

在pthread.h头文件中PTHREAD_MUTEX_INITIALIZER是这样定义的:
# define PTHREAD_MUTEX_INITIALIZER \
  { { 0, 0, 0, 0, 0, 0, { 0, 0 } } }

如果不对其进行初始化,对于某些系统来说如Solaris,静态分配就是初始化为零,所以没什么问题。但并非所有的系统都是这样的,如Digtal Unix将初始化常值定义为非0。

关于pthread_mutex_t的初始化 http://www.blogbus.com/kavine-logs/46146510.html相关推荐

  1. 【C++ 语言】pthread_mutex_t 互斥锁

    文章目录 线程同步机制 互斥锁 互斥锁使用示例 线程同步机制 线程同步机制引入 : 多个线程读取同一个资源时 , 可能会造成冲突 , 因此需要引入线程同步机制 , 让多个线程按照一定规则对共享的资源进 ...

  2. MySQL初始化安装部署

    文章目录 0.参考资料 1.Mysql的安装 1.0.系统环境准备 1.1.软件解压和安装 1.2.新建用户.目录 1.3.安装 1.3.1.mysql5.7 以上版本初始化: 1.3.2.mysql ...

  3. 《图解微信小程序》- 初始化项目分析

    这是微信小程序的初始化结构,里面有index,logs两个界面,还有有个util.js,js的帮助类,app.js入口JS和一些配置文件. 从初始化文件目录结构来看,项目中主要含有四种文件:.js,. ...

  4. NDK 高级编程(笔记)

    Android 开发中针对 NDK 的书籍很少,<Pro Android C++ with the NDK>也是出版的比较早的一本书,有些内容可能对现在的开发并不适用.但是书中介绍的内容比 ...

  5. 【Android RTMP】x264 图像数据编码 ( Camera 图像数据采集 | NV21 图像数据传到 Native 处理 | JNI 传输字节数组 | 局部引用变量处理 | 线程互斥 )

    文章目录 安卓直播推流专栏博客总结 一. NV21 数据传入 Native 层 二. jbyte * 数据类型 ( Java 中的 byte[] 数组传入 JNI 处理方式 ) 三. 局部引用处理 四 ...

  6. 【C++ 语言】线程安全队列 ( 条件变量 | 线程调度 )

    文章目录 I . 线程简单使用 II . 互斥锁 III . 条件变量 线程同步 IV . 完整代码示例 006_ThreadSafeQueue.h 006_ThreadSafeQueue.cpp S ...

  7. Linux学习之系统编程篇:条件变量(pthread_cond_init / wait / signal / broadcast / destroy)

    一.条件变量的认识 (1)条件变量的引出: 各个线程访问共享资源,比如说共享资源是一个空资源,那么,各线程的访问其实都是无效访问,因此需要一个机制,首先阻塞线程,以免其错误访问,待条件满足时(比如 共 ...

  8. 【转】pthread mutex 基本用法

    转自:pthread mutex 基本用法 | feng 言 feng 语 锁是程序中经常需要用到的机制,尤其是多线程的程序中,如果没有锁的帮助,线程间的同 步就会非常麻烦甚至不可能.pthread中 ...

  9. 线程控制、如何给面试官描述线程不安全的情况?模拟黄牛抢票展现不安全的情况及解决方式、互斥锁加锁解锁

    多线程1 线程概念 线程控制 线程创建 线程终止 线程等待 线程分离 线程安全 如何给面试官描述线程不安全的现象? 线程不安全的情况(模拟黄牛抢票) 互斥 互斥锁的原理 互斥锁的接口 静态初始化 动态 ...

最新文章

  1. 使用Windows远程登录Ubuntu
  2. 思科ucs-b系列服务器,思科统一计算系统UCS B系列刀片推荐
  3. editplus 快捷键
  4. ACCESS中执行sql语句
  5. C Primer Plus 第9章 函数 9.7 指针简介
  6. java list stream avg_Java8之list.stream的常见使用
  7. DXperience Winforms12.2版的中文使用手册
  8. 广工Anyview数据结构习题
  9. off-by-one
  10. N-Queen(java实现)
  11. 清理掉大流氓:2345
  12. android l fox x86,【原创】X61T笔触(无手触)安卓(X86)系统真正完美
  13. 原理图端口符号_200 一步步开始学习制作PCBamp;PCBA--绘制原理图
  14. m4a怎么转换成mp3,4招搞定
  15. 大数据Spark(三):框架模块初步了解
  16. 电子元器件贸易采购管理常见难题及解决方案
  17. 主元素、主元素II、主元素III
  18. Deep Learning for Single Image Super-Resolution: A Brief Review SISR综述分析
  19. 参考文献在Latex编译后的文章中无法显示
  20. 全世界好老男人的女人都该去看“边境风云”(剧透慎入)

热门文章

  1. 实现VS平台账号注册机
  2. 现代化医院PACS/RIS系统概述
  3. 可视化百分比数据,Excel图表展示小技巧
  4. win10开机启动项(win10开机启动项无法启动)
  5. 广州橙色优学:Java为什么这么火?Java好学吗?
  6. 【软考】系统集成项目管理工程师(十二)项目沟通管理
  7. 网络安全威胁的主要内容
  8. Python||报错:TypeError: can only join an iterable
  9. 【专业数据】二.2020~2022年北京交通大学【信息与通信工程】专业复试线/分数线差/计划招生数/复试数/录取数/复试比例/录取率
  10. 创建利于Google网站的步骤