Linux线程互斥量--进程共享属性
2015-06-09 18:19
309 查看
多线程中,在互斥量和 读写锁的 属性中,都有一个叫 进程共享属性 。
对于互斥量,查询和设置这个属性的方法为:
pthread_mutexattr_getpshared
pthread_mutexattr_setpshared
我一开始不理解什么是 进程共享属性。 看了man中的说明如下
The pthread_mutexattr_getpshared() function shall obtain the value of the process-shared attribute from the attributes object referenced by attr. The pthread_mutexattr_setpshared() function shall set the process-shared attribute in an initialized attributes object referenced by attr.
The process-shared attribute is set to PTHREAD_PROCESS_SHARED to permit a mutex to be operated upon by any thread that has access to the memory where the mutex is allocated, even if the mutex is allocated in memory that is shared by multiple processes. If the process-shared attribute is PTHREAD_PROCESS_PRIVATE, the mutex shall only be operated upon by threads created within the same process as the thread that initialized the mutex; if threads of differing processes attempt to operate on such a mutex, the behavior is undefined. The default value of the attribute shall be PTHREAD_PROCESS_PRIVATE.
意思是:
这个属性有两个值
PTHREAD_PROCESS_SHARED
PTHREAD_PROCESS_PRIVATE, 顾名思义,是进程共享,和进程不共享。 也即是 当你的进程初始化一个互斥量后, 是只有自己的进程 可以使用,还是 其他进程也可以使用这个互斥量。
默认情况是 PTHREAD_PROCESS_PRIVATE, 只有本进程可以 对这个互斥量加锁等操作。
这时,别的进程,对私有的 互斥量 操作的行为,没有定义。
对于互斥量,查询和设置这个属性的方法为:
pthread_mutexattr_getpshared
pthread_mutexattr_setpshared
我一开始不理解什么是 进程共享属性。 看了man中的说明如下
The pthread_mutexattr_getpshared() function shall obtain the value of the process-shared attribute from the attributes object referenced by attr. The pthread_mutexattr_setpshared() function shall set the process-shared attribute in an initialized attributes object referenced by attr.
The process-shared attribute is set to PTHREAD_PROCESS_SHARED to permit a mutex to be operated upon by any thread that has access to the memory where the mutex is allocated, even if the mutex is allocated in memory that is shared by multiple processes. If the process-shared attribute is PTHREAD_PROCESS_PRIVATE, the mutex shall only be operated upon by threads created within the same process as the thread that initialized the mutex; if threads of differing processes attempt to operate on such a mutex, the behavior is undefined. The default value of the attribute shall be PTHREAD_PROCESS_PRIVATE.
意思是:
这个属性有两个值
PTHREAD_PROCESS_SHARED
PTHREAD_PROCESS_PRIVATE, 顾名思义,是进程共享,和进程不共享。 也即是 当你的进程初始化一个互斥量后, 是只有自己的进程 可以使用,还是 其他进程也可以使用这个互斥量。
默认情况是 PTHREAD_PROCESS_PRIVATE, 只有本进程可以 对这个互斥量加锁等操作。
这时,别的进程,对私有的 互斥量 操作的行为,没有定义。
相关文章推荐
- linux uniq 命令详解
- CENTOS7错误:Cannot find a valid baseurl for repo: base/7/x86_6
- Linux下源码安装PyQt4
- linux 设备文件属性
- centos6.6搭建LANP环境(yum)
- linux下生成rsa密钥的方法
- linux 虚拟机下设置IP自动获取。
- 【转】linux trap
- Linux中kill,pkill,killall和xkill命令汇总讲解
- Linux mysql常用操作命令
- Linux编程进阶
- Linux文件系统介绍(转)
- linux 添加静态路由
- Linux中各种kill signal 汇总
- Linux常用命令
- Ubuntu设置开机默认进入字符界面
- centOs6.5_ftp服务器搭建vsftpd
- kali-linux虚拟机安装vmware-tools
- linux_环境变量设置 utf-8
- linux java怎么安装