怎么理解信号量的值values[2] = {1,0}

怎么理解信号量的值values[2] = {1,0}

信号量的值{1,0}的作用分别是什么?把他改成{1,1}就会输出

ABBA

AAB

AAB

...

以下同AAB,

这是为啥?


pid_t cpid;

int semid;

unsigned short values[2] = {1,0}; // 信号量的值


semid = sem_create(2,values);  // 信号量集合中只创建1个信号

if (semid == -1) {

return -1;

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
无__名 2023-06-17 10:35:00

分别代表一个信号量集合中两个信号量要设置的对应的值,比如一个信号量集合包含两个信号量,信号量的编号分别是0和1,然后数组中的{1,0} 就分别对应两个信号量的值为1和0,信号量的值代表当前可访问的临界资源数量,如果为1,就是表示当前有一个可访问的临界资源, 如果是0,则表示当前没有可访问的临界资源 

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师