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

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日

    悬赏问题

    • ¥15 音量自动减小啦!日历自动翻页
    • ¥15 微软硬件驱动认证账号申请
    • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
    • ¥15 GPT写作提示指令词
    • ¥20 如何在cst中建立这种螺旋扇叶结构
    • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
    • ¥20 关于DAC输出1.000V对分辨率和精度的要求
    • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
    • ¥15 哪位能做百度地图导航触点播报?
    • ¥15 请问GPT语言模型怎么训练?