当前位置:  技术问答>linux和unix

进程的互斥量共享属性问题

    来源: 互联网  发布时间:2017-05-09

    本文导语:  /*********************************************************************************/ /* 进程的互斥量共享属性 默认:PTHREAD_PROCESS_PRIVATE 0 PTHREAD_PROCESS_SHARED */ /********************************************************************************/ #include  #include  #...



/*********************************************************************************/
/*
进程的互斥量共享属性

默认:PTHREAD_PROCESS_PRIVATE 0
PTHREAD_PROCESS_SHARED


*/
/********************************************************************************/

#include 
#include 
#include 
#include 
#include 

typedef struct foo
{
int f_count;
pthread_mutex_t f_lock;
int data;
}foo;


int main()
{
pthread_mutexattr_t attr;
int pshared;
pid_t pid;
foo d;

if (pthread_mutexattr_init(&attr) != 0) //初始线程属性,这是必须的
{
printf("pthread_attr_init error!n");
}

//设置共享属性
/**********************************这里怎么设置属性为0和1都一样啊??*******************************/
if (pthread_mutexattr_setpshared(&attr, 1) != 0)
{
printf("pthread_attr_init error!n");
}

if (pthread_mutexattr_getpshared(&attr, &pshared) != 0)
{
printf("pthread_attr_init error!n");
}
//printf("%dn", pshared);



if (pthread_mutex_init(&(d.f_lock), &attr) != 0)
{
printf("pthread_mutex_init error!n");
}

if (pthread_mutexattr_destroy(&attr) != 0) //销毁属性占的空间
{
printf("pthread_attr_init error!n");
}

d.data = 2; //数据初始化为1


/*if (pthread_mutex_lock(&(d.f_lock) ) != 0)
{
printf("pthread_mutex_init error!n");
}
d.data ++;
printf("%dn", d.data);



if (pthread_mutex_unlock(&(d.f_lock) ) != 0)
{
printf("pthread_mutex_init error!n");
}*/




//用两个进程来测试
if ((pid = fork()) 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,