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

wordpress 点赞插件临沂seo

wordpress 点赞插件,临沂seo,河南建设部网站官网,软件定制公司排名二值信号量 二值信号量的本质是一个队列长度为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/85500.html

相关文章:

  • amazon虚拟机免费做网站成都网站优化平台
  • html5农业网站模板公司网站seo外包
  • 网站开发能赚多少钱小说关键词搜索器
  • 宁夏住房和城乡建设厅门户网站福州seo按天收费
  • 网站中英切换实例网站设计服务企业
  • 如皋做网站公司精准网站seo诊断报告
  • 黄骅seo重庆百度快速优化
  • 把自己做的网站放到网上去seo网站搭建是什么
  • 肇庆网站建设公司磁力猫torrentkitty官网
  • 建设银行青海省分行招聘网站站长工具查询网
  • 怎样开设网站线上营销策略有哪些
  • ppt制作平台武汉百度seo网站优化
  • 临沭做网站重庆百度竞价推广
  • 网站为什么做优化ppt搜索网站
  • 做网站要求的资料百度在全国有哪些代理商
  • 建行手机网站如何查看百度指数
  • 360免费建站连接百度seo培训课程
  • 室内设计公司排名前十口碑推荐seo日常工作内容
  • 百度怎么做网站广告爱站网关键词挖掘
  • 网站建设属于淘宝哪种类目怎么注册中视频账号
  • 国外的素材网站竞价托管是啥意思
  • 济南旅游团购网站建设百度指数爬虫
  • 网站首页推荐打开百度网址
  • 做公司网站备案可以个人自动收录
  • wordpress免费资讯主题seo需要付费吗
  • 微信24小时人工客服在线咨询网站关键词优化方法
  • dreamweaver序列号免费公众号seo排名优化
  • 如何用axure做网站常州百度推广公司
  • 竞价代运营公司哪家好seo技术好的培训机构
  • 昆明网站建设去出发科技公司吉林刷关键词排名优化软件