当前位置: 首页 > news >正文

网站开发使用的技术疫情最新数据消息地图

网站开发使用的技术,疫情最新数据消息地图,和17做网店一样的货源网站,商城查询二值信号量 二值信号量的本质是一个队列长度为1的队列,该队列就只有空和满两种情况,这就是二值。 二值信号量通常用于互斥访问或任务同步,与互斥信号量比较类似,但是二值信号量有可能会导致优先级翻转的问题,所以二值…

二值信号量

二值信号量的本质是一个队列长度为1的队列,该队列就只有空和满两种情况,这就是二值。

二值信号量通常用于互斥访问或任务同步,与互斥信号量比较类似,但是二值信号量有可能会导致优先级翻转的问题,所以二值信号量更适合用于同步。

SemaphoreHandle_t xSemaphoreCreateBinary( void );xSemaphoreTake( SemaphoreHandle_t xSemaphore,TickType_t xTicksToWait );xSemaphoreTakeFromISR(SemaphoreHandle_t xSemaphore,signed BaseType_t *pxHigherPriorityTaskWoken)xSemaphoreGive( SemaphoreHandle_t xSemaphore );xSemaphoreGiveFromISR(SemaphoreHandle_t xSemaphore,signed BaseType_t *pxHigherPriorityTaskWoken)void vSemaphoreDelete( SemaphoreHandle_t xSemaphore );

重点在许多使用场景中,使用直达任务通知要比使用二值信号量的速度更快,内存效率更高。所以,没有实例代码。

计数型信号量

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

SemaphoreHandle_t xSemaphoreCreateCounting( UBaseType_t uxMaxCount,UBaseType_t uxInitialCount);UBaseType_t uxSemaphoreGetCount( SemaphoreHandle_t xSemaphore );其他接口与二值信号量的接口一致。

重点在许多情况下,任务通知可以提供计数信号量的轻量级替代方案

互斥信号量(互斥锁)

互斥信号量其实就是一个拥有优先级继承的二值信号量,在同步的应用中二值信号量最合适。互斥信号量适合那些需要互斥访问的应用中。

注意:互斥信号量不能用于中断服务函数中,原因如下:

  • 互斥信号量有任务优先级继承的机制,但是中断不是任务,没有任务优先级,所以互斥信号量只能用于任务中。
  • 中断服务函数中不能因为要等待互斥信号量而设置阻塞时间进入阻塞态。
SemaphoreHandle_t xSemaphoreCreateMutex( void )xSemaphoreGive( SemaphoreHandle_t xSemaphore );xSemaphoreTake( SemaphoreHandle_t xSemaphore,TickType_t xTicksToWait );
SemaphoreHandle_t xSemaphore = NULL;/* A task that creates a semaphore. */
void vATask( void * pvParameters )
{/* Create the semaphore to guard a shared resource. As we are usingthe semaphore for mutual exclusion we create a mutex semaphorerather than a binary semaphore. */xSemaphore = xSemaphoreCreateMutex();
}/* A task that uses the semaphore. */
void vAnotherTask( void * pvParameters )
{/* ... Do other things. */if( xSemaphore != NULL ){/* See if we can obtain the semaphore. If the semaphore is notavailable wait 10 ticks to see if it becomes free. */if( xSemaphoreTake( xSemaphore, ( TickType_t ) 10 ) == pdTRUE ){/* We were able to obtain the semaphore and can now access theshared resource. *//* ... *//* We have finished accessing the shared resource. Release thesemaphore. */xSemaphoreGive( xSemaphore );}else{/* We could not obtain the semaphore and can therefore not accessthe shared resource safely. */}}
}

递归互斥信号量(递归互斥锁)

xSemaphoreCreateMutex()用于创建非递归互斥锁。非递归互斥锁只能被一个任务 获取一次,如果同一个任务想再次获取则会失败, 因为当任务第一次释放互斥锁时,互斥锁就一直 处于释放状态。

与非递归互斥锁相反,递归互斥锁可以被同一个任务获取很多次, 获取多少次就需要释放多少次, 此时才会返回递归互斥锁。

SemaphoreHandle_t xSemaphoreCreateRecursiveMutex( void )xSemaphoreTakeRecursive( SemaphoreHandle_t xMutex,TickType_t xTicksToWait );xSemaphoreGiveRecursive( SemaphoreHandle_t xMutex )
http://www.mmbaike.com/news/51855.html

相关文章:

  • 永久免费的ppt网站品牌推广策略与方式
  • 织梦做的网站打开空白市场调研报告ppt
  • discuz建网站宣传软文是什么
  • 网站权重值seo网络优化
  • 广州市天河区建设和水务局网站真正免费的网站建站平台
  • 在哪里可以建设网站强强seo博客
  • 网站制作软件小学广告联盟怎么加入
  • 郑州专业做网站公黄冈网站推广优化找哪家
  • 松江网站建设推广百度关键词推广多少钱
  • 怎么在濮阳网站做宣传视频推广一条多少钱
  • 做淘宝客网站制作教程百度推广怎么做最好
  • 成都网站seo推广互联网推广是什么工作内容
  • 宿州网站网站建设seo网站设计
  • wordpress rss地址重庆seo推广运营
  • 长春网站建设手机版谷歌 chrome 浏览器
  • 做网站得多钱优化视频
  • dedecms建设慕课网站西点培训
  • 网页编辑排版工具有哪些汕头seo网络推广服务
  • 网站建设开发ppt模板中国互联网数据平台
  • 加盟的网站建设郑州粒米seo顾问
  • web页面就是网站吗百度指数app官方下载
  • 网站策划知识搜索引擎优化是什么意思啊
  • 萧山网站建设网站页面
  • 哪些网站用织梦默认模板跨境电商平台注册开店流程
  • 深圳网站建设大公司排名seo去哪里学
  • 网站被做站公司贩卖seo云优化软件破解版
  • b2c网站建设需要多少钱明年2024年有疫情吗
  • 嘉定区建设局网站山东济南最新消息
  • 少儿编程课有没有必要学seo友情链接
  • 网站建设核心正规的网店培训机构有哪些