zoukankan      html  css  js  c++  java
  • Linux进程间通信(3):信号量

    接上一篇的内容——Linux进程间通信(2):信号

    参考书籍:《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院)

    UNIX网络编程 卷2 进程间通信(第2版)(中文版)

    参考链接:http://www.ibm.com/developerworks/cn/linux/l-ipc/part4/

    http://www.cnblogs.com/osyun/articles/2660434.html

    同步与互斥:

    临界资源:

    信号量是用来解决进程间的同步与互斥问题的一种进程间通信机制。

    PV操作:

    实现步骤:

    1. 创建信号量或获得在系统中已经存在的信号量,此时需要调用semget()函数。不同进程通过使用同一个信号量键值来获得同一个信号量;
    2. 初始化信号量,此时使用semctl()函数的IPC_SETVAL操作。使用二维信号量时,通常将信号量初始化为1;
    3. 进行信号量的PV操作,此时调用semop()函数。这一步是实现进程间的同步与互斥的核心工作部分;
    4. 如果不需要信号量,则从系统中删除它,此时调用semctl()函数的IPC_RMID操作。需要注意的是,在程序中不应该出现对已经删除的信号量的操作。
    作者:快乐出发0220 ;Android群:151319601 ; Linux群:96394158 ;转载请注明出处 http://klcf0220.cnblogs.com/ !!!
  • 相关阅读:
    term "JavaScript"
    Pro Git
    Pro Git
    Pro Git
    git
    flask
    OJ
    [蓝桥杯]Huffuman树
    priority_queue优先队列
    [蓝桥杯]高精度加法
  • 原文地址:https://www.cnblogs.com/klcf0220/p/3061620.html
Copyright © 2011-2022 走看看