当前位置 博文首页 > jiamianshiye_16_com的专栏:linux SystemV的信号量操作semop

    jiamianshiye_16_com的专栏:linux SystemV的信号量操作semop

    作者:[db:作者] 时间:2021-06-09 12:15

    参考链接如下:
    https://beej.us/guide/bgipc/output/html/multipage/index.html

    在apue的介绍里,信号量(semaphore)是一个计数器,用于多进程、多线程对共享数据的访问。为了获取共享资源,进程需要执行下列步骤:
    ? ? 1.测试控制该资源的信号量。
    ? ? 2.若此信号量的值为正,则进程可以使用该资源。进程将信号量值减1,表示它使用了一个资源单位。
    ? ? 3.若此信号量的值为0,则进程进入休眠状态,直至信号量的值大于0 。进程被唤醒后,返回到?1 操作。
    上述操作中的信号量增、减操作都是原子操作。可以使用下述流程图来表述信号量的使用。


    ? ? 在使用信号量集合时,需要先进行创建,之后需要对创建好的信号量集合进行控制设置。控制函数使用semctl:

    点击(此处)折叠或打开