信号量学习

技术信号量学习 信号量学习(一)概念信号量是一个整数,这个整数允许多进程或多线程同步他们的操作。这个整数必须大于等于0.
linux库函数中,类似有名映射、匿名映射,有名管道、无名管道,信号量也有有名信

信号量学习

(一)概念

信号量是一个整数,它允许多个进程或线程同步它们的操作。该整数必须大于或等于0。

在linux库函数中,有类似的命名映射、匿名映射、命名管道和未命名管道。信号量也有命名信号量和匿名信号量。匿名信号量在内存中,而不是在文件系统中,通常用于线程之间的同步。命名信号量需要创建文件,这些文件通常用于进程之间的同步。命名信号量请参见:命名信号量。

(2)匿名信号量库函数

#包含信号量. h

int sem_init(sem_t *sem,int pshared,无符号int值);

函数:初始化一个匿名信号量。

参数:

Sem指定要初始化的信号量的地址。

P 0多线程非0多进程

值指定信号量的初始值。

返回值:

0成功

错误-设置了1个错误号

#包含信号量. h

int SEM _ destroy(SEM _ t * SEM);

函数:破坏了一个匿名信号量。

参数:

Sem指定要销毁的匿名信号量的地址

返回值:

0成功

错误-设置了1个错误号

#包含信号量. h

int SEM _ post(SEM _ t * SEM);

函数:给信号量的值加1。如果它变得大于0。如果等待信号量值变得大于0的进程或线程被唤醒,继续从信号量值中减去1。

参数:

Sem指定了特定的信号量

返回值:

0成功

错误-1 errno被设置为相同的信号量值。

#包含信号量. h

int SEM _ wait(SEM _ t * SEM);

如果当前信号的值大于0,继续立即返回。

如果当前信号量值等于0。阻塞,直到信号量值大于0。

参数:

Sem指定了特定的信号量

返回值:

0成功

错误-1 errno被设置为相同的信号量值。

int SEM _ try wait(SEM _ t * SEM);

功能:尽量不阻塞等待。

int sem_timedwait(sem_t *sem,const struct time spec * ABS _ time out);

功能:与时间一起等待

参考博客:https://blog.csdn.net/u013511885/article/details/03116998 UTM _ medium=distribute . PC _ agg page _ search _ result . none-task-blog-2 ~聚合页面~ first _ rank _ ecpm _ v1 ~ rank _ v31 _ ecpm-3-103116998 . PC _ agg _ new

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/117954.html

(0)

相关推荐

  • 如何基于RBAC设计模型设计权限管理系统

    技术如何基于RBAC设计模型设计权限管理系统 如何基于RBAC设计模型设计权限管理系统RBAC是取自(Role-Based Access Control)四个单词首字母的缩写成的名称或者术语,意思是基于

    礼包 2021年11月20日
  • 代理HTTP和HTTPS协议有什么区别

    技术代理HTTP和HTTPS协议有什么区别这篇文章将为大家详细讲解有关代理HTTP和HTTPS协议有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。大家经常见的HT

    攻略 2021年10月21日
  • buffalo buffalo(buffalo buffalo buffalo)

    技术Buffalo 2.0如何整合spring小编给大家分享一下Buffalo 2.0如何整合spring,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Spring是当前最流行的轻量级容器,Buffal

    攻略 2021年12月24日
  • 抖音1元100赞平台,抖音增粉的方法?

    技术抖音1元100赞平台,抖音增粉的方法?如何把快手玩好一直是很多新手快手运营者纠结的问题,想做好一个快手号,粉丝量是一个很重要参考因素,只要有足够多的粉丝,快手推广是事半功倍的效果,更容易上快手热门,而网上有广告说1元

    测评 2021年11月10日
  • 1.Rman备份的基本命令

    技术1.Rman备份的基本命令 1.Rman备份的基本命令一.target-连接数据库
    1.本地:[oracle@oracle ~]$ rman target /2.远程:[oracle@oracle

    礼包 2021年12月3日
  • 关于keyframes的用法

    技术关于keyframes的用法 关于keyframes的用法CSS3的@keyframes用法详解:@keyframes与animation属性是密切相关的
    一.基本知识:keyframes翻译成中文

    礼包 2021年12月5日