当前位置:网站首页 > AI与大数据 > 正文

sem_wait返回值(waitkey返回值)



什么是信号量?
信号量( Semaphore ),是在多任务环境下使用的一种机制,是可以用来保证两个或多个关键代码段不被并发调用。
信号量这个名字,我们可以把它拆分来看,信号可以起到通知信号的作用,然后我们的量还可以用来表示资源的数量,当我们的量只有0 1 的时候,它就可以被称作二值信号量,只有两个状态,当我们的那个量没有限制的时候,它就可以被称作为计数型信号量。
信号量也是队列的一种。

什么是二值信号量?

二值信号量其实就是一个长度为 1 ,大小为零的队列,只有 0 1 两种状态,通常情况下,我们用它来进行互斥访问或任务同步。
互斥访问:比如门钥匙,只有获取到钥匙才可以开门
任务同步:比如电影上映后你才可以看到

二值信号量相关 API 函数 

1. 创建二值信号量 

 
参数:
返回值:
成功,返回对应二值信号量的句柄;
失败,返回 NULL

2. 释放二值信号量 

 
参数:
xSemaphore :要获取的信号量句柄
xTicksToWait :超时时间, 0 表示不超时, portMAX_DELAY 表示卡死等待;
返回值:
成功,返回 pdPASS
失败,返回 errQUEUE_FULL

实验Demo

 创建一个二值信号量,按下 KEY1 则释放信号量,按下 KEY2 获取信号量。

 

什么是计数型信号量?
计数型信号量相当于队列长度大于 1 的队列,因此计数型信号量能够容纳多个资源,这在计数型信号量被创建的时候确定的。

计数型信号量相关 API 函数

计数型信号量的释放和获取与二值信号量完全相同 ! 

 
参数:
uxMaxCount :可以达到的最大计数值 uxInitialCount :创建信号量时分配给信号量的计数值
返回值:
成功,返回对应计数型信号量的句柄;
失败,返回 NULL

 实验Demo

创建一个计数型信号量,按下 KEY1 则释放信号量,按下 KEY2 获取信号量。

 

记得点赞+收藏

到此这篇sem_wait返回值(waitkey返回值)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Fais什么意思(fass是什么意思)2025-02-14 16:36:05
  • fai是什么意思中文(fais什么意思)2025-02-14 16:36:05
  • aiplaza在哪里(在哪下载ai)2025-02-14 16:36:05
  • faiss数据库使用方法(factsage数据库)2025-02-14 16:36:05
  • faiss(Faiss向量检索库的介绍)2025-02-14 16:36:05
  • faiis是什么意思中文(fas是什么意思中文翻译成)2025-02-14 16:36:05
  • ai人群和pl人群是什么意思(ai人群和pl人群是什么意思啊)2025-02-14 16:36:05
  • Fais什么意思(faiis是什么意思中文)2025-02-14 16:36:05
  • libxml2.so.2是什么(libmain.so是什么)2025-02-14 16:36:05
  • aiplaza(aiplaza简介)2025-02-14 16:36:05
  • 全屏图片