unix中信号量是如何处理的?
发布网友
发布时间:2022-05-19 04:28
我来回答
共1个回答
热心网友
时间:2024-03-04 09:56
包含头文件
#include <semaphore.h>
定义信号量,然后初始化信号量的初值,一般是0
sem_init(&xx,0,0)
发送信号量
sem_post(&xx)
等待信号量
sem_wait(&xx)追问多谢回答。
我还有个问题,如果我现在有2个进程
子进程
{
proc1();
proc3();
}
父进程
{
proc2();
}
希望能以proc1->proc2->proc3顺序依次进行,即proc2执行完之前proc3不能执行,该怎么做呢?
我现在的做法是
子进程
{
proc1();
sem_post();
sem_wait();
proc2();
}
父进程
{
sem_wait();
proc2();
sem_post();
}
可是这样的结果却是只运行proc1(),而不运行proc2()proc3()