代码如下所示,两边对照查看程序!(左图为先运行进程 右图为后运行进程)

 Linux下IPC中的信号量PV操作  Linux下IPC中的信号量PV操作

运行的效果就是:当左边的进程检测到EOF,释放资源V操作之后,右边的进程会迅速的执行对应的printf的操作!

所有代码文件结构如下:

Linux下IPC中的信号量PV操作

sem_a.c(左边进程的代码,编译方式:gcc sem_a.c sempv.c -o sem_a)

#include <stdio.h>
#include "sempv.h"

int main(int *argc, char *argv[])
{
    key_t my_key = 1234;
    int my_sem;

    my_sem = Create_sem(my_key,1,0666|IPC_CREAT);
    printf("setting val...\n");
    init_sem(my_sem,0,1);

    printf("p...\n");
    P(my_sem);
    while(getchar() != EOF);
    V(my_sem);

    sleep(5);
    del_sem(my_sem);

    return 0;
}
View Code

相关文章:

  • 2022-03-11
  • 2022-12-23
  • 2021-12-20
  • 2021-09-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
猜你喜欢
  • 2021-12-17
  • 2022-12-23
  • 2021-07-26
  • 2021-08-19
相关资源
相似解决方案