芬里厄X 2021-12-17 11:14 采纳率: 0%
浏览 13
已结题

Linux系统中信号量互斥问题

请大佬讲解一下这是怎么设置的互斥,尤其讲一下semctl的作用。求求了!
#define mutex 5

int chopstick[5] = {0,1,2,3,4};
int sem_id = -1;

if((sem_id = semget(IPC_PRIVATE,6,0600)) < 0)
{
perror("创建信号量失败\n");
exit(1);
}
if(semctl(sem_id,mutex,SETVAL,1) == -1)
{
perror("sem赋值失败\n");
exit(1);
}
for(i=0;i<5;i++){
if(semctl(sem_id,chopstick[i],SETVAL,1) == -1)
{
perror("sem赋值失败\n");
exit(1);
}
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月25日
    • 创建了问题 12月17日