linux 进程间通信之pthread(条件变量共享和互斥锁共享)
0,互斥锁共享
初始化和销毁mutex互斥锁
int pthread_mutexattr_init(pthread_mutexattr_t *attr);
int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);
进程共享属性有两种值:
1、PTHREAD_PROCESS_PRIVATE,这个是默认值(1),同一个进程中的多个线程访问同一个同步对象,仅支持单进程。.
2、PTHREAD_PROCESS_SHARED, (2)这个属性可以使互斥量在多个进程中进行同步,如果互斥量在多进程的共享内存区域,那么具有这个属性的互斥量可以同步多进程.
a,设置互斥量进程共享属性
int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr, int pshared);
b,获取互斥量进程共享属性
int pthread_mutexattr_getpshared(const pthread_mutexattr_t *restrict attr, int *restrict pshared);
2,条件变量共享