多个用 PTHREAD_MUTEX_INITIALIZER 初始化的 pthread_mutex_t 不是同一个 mutex
来源:互联网 发布:linux无法重启网络服务 编辑:程序博客网 时间:2024/06/06 01:36
参考:http://stackoverflow.com/questions/6310746/initializing-pthread-mutexes
【结论】
static pthread_mutex_t m0 = PTHREAD_MUTEX_INITIALIZER;static pthread_mutex_t m1 = PTHREAD_MUTEX_INITIALIZER;static pthread_mutex_t m2 = PTHREAD_MUTEX_INITIALIZER;
像这样初始化的3个 pthread_mutex_t,并不是同一个 mutex,即在使用时,相互不影响。
【说明】
static pthread_mutex_t m0 = {0x32AAABA7, {0}};static pthread_mutex_t m1 = {0x32AAABA7, {0}};static pthread_mutex_t m2 = {0x32AAABA7, {0}};
尽管通过 gcc -E code.cpp,看似初始化成同样的东西,但
It is essentially an enum value, but with a Hamming code protection to (a) make it safe and (b) make it obscure. You have three distinct mutexes here
0 0
- 多个用 PTHREAD_MUTEX_INITIALIZER 初始化的 pthread_mutex_t 不是同一个 mutex
- 关于pthread_mutex_t的初始化
- pthread_mutex_t的静态初始化
- 关于pthread_mutex_t的初始化
- 关于pthread_mutex_t的初始化
- pthread_mutex_t的静态初始化
- PTHREAD_MUTEX_INITIALIZER vs pthread_mutex_init ( &mutex, param)
- 【转】关于pthread_mutex_t的初始化
- 初始化pthread_mutex_t变量的问题
- 【pthread系列-9】pthread_mutex_t的静态初始化
- linux下pthread_mutex_t 对象的初始化
- linux mutex lock: pthread_mutex_t mutex_lock
- 浅谈pthread_cond_wait(pthread_cond_t *cond,pthread_mutex_t *mutex)
- pthread_mutex_t的静态初始化 http://m.blog.csdn.net/blog/grantxx/8177130
- 关于pthread_mutex_t的初始化 http://www.blogbus.com/kavine-logs/46146510.html
- 互斥锁pthread_mutex_t的使用
- 互斥锁pthread_mutex_t的使用
- 互斥锁pthread_mutex_t的使用
- 什么是Flex?
- try catch 合理使用
- sql,delete
- 关于linux mail和sendmail的研究与学习
- 指针本质上是一串数字
- 多个用 PTHREAD_MUTEX_INITIALIZER 初始化的 pthread_mutex_t 不是同一个 mutex
- 80、90后人口迁徙大数据
- Key usage extensions and extended key usage
- MAC下Android的Eclipse开发环境的搭建
- 利用文件重定向提高调试效率(已阅加重点划)
- OpenGL: 反馈
- CRS-0184: Cannot communicate with the CRS daemon.
- Set Matrix Zeroes
- android 获取应用程序包名,图标,入口Activity类