0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用相互排斥Mutex来解决竞争冒险

工程师邓生 来源:硬件会 作者:硬件会 2022-09-14 15:27 次阅读

使用相互排斥 Mutex 来解决竞争冒险。

就相当于将共享的全局变量放到一个保险柜里,当任务1获取此变量时,先申请一把钥匙打开保险柜,对共享资源进行访问。当任务2也想访问共享资源时,由于申请不到钥匙,就访问不了共享资源,只能等待,等待到任务1释放钥匙,才可以获取。示例以下:

第一步(创建一把钥匙):

SemaphoreHandle_t xHandler; 创建Handler

xHandler = xSemaphoreCreateMutex(); 创建一个MUTEX(钥匙)

第二步(获取钥匙):

xSemaphoreTake(xHanlder, timeout); 指定时间内获取信号量 返回pdPASS, 或者pdFAIL。

第三步(释放钥匙):

xSemaphoreGive(xHandler); 释放

共享的资源被锁在了一个箱子里,只有一把钥匙,有钥匙的任务才能对改资源进行访问。

1a4b421a-3051-11ed-ba43-dac502259ad0.png1b37150a-3051-11ed-ba43-dac502259ad0.png

1bbb1c60-3051-11ed-ba43-dac502259ad0.png



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 信号源
    +关注

    关注

    5

    文章

    407

    浏览量

    43726

原文标题:任务与任务之间通讯二(共享全局变量)

文章出处:【微信号:硬件会,微信公众号:硬件会】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA中竞争冒险的前世今生

    竞争冒险:在组合电路中,当逻辑门有两个互补输入信号同时向相反状态变化时,输出端可能产生过渡干扰脉冲的现象,称为竞争冒险。那么 FPGA 产生竞争
    发表于 02-21 16:26

    竞争冒险产生的原因,判断方法和避免竞争冒险的方法

    在实际的电路设计过程中,存在传播延时和信号变换延时。由延时引起的竞争冒险现象会影响输出的正确与否。下面将就 竞争冒险产生的原因 , 判断方法 和 避免
    的头像 发表于 02-18 14:34 1064次阅读
    <b class='flag-5'>竞争</b>与<b class='flag-5'>冒险</b>产生的原因,判断方法和避免<b class='flag-5'>竞争</b>与<b class='flag-5'>冒险</b>的方法

    精益生产和数字化是如何相互成就的?

    在当今这个高速发展的数字时代,精益生产和数字化已成为企业追求卓越、提升竞争力的两大引擎。它们如同两股巨大的力量,相互推动、相互成就,共同书写着制造业的新篇章。 一、精益生产:追求卓越的基石 精益生产
    的头像 发表于 01-09 15:22 221次阅读

    英特尔希望在2024年超越其芯片制造竞争对手

    过去五年来,英特尔在先进芯片制造方面一直落后于台积电和三星。现在,为了重新夺回领先地位,该公司正在采取大胆且冒险的举措,在其台式机和笔记本电脑Arrow Lake处理器中引入两项新技术,该处理器将于2024年末推出。英特尔希望凭借新的晶体管技术和首创的电力输送系统超越竞争
    的头像 发表于 12-25 14:50 348次阅读

    AI PC真心话大冒险

    之前快问快答,讲了“AI PC”是个啥,今天,我们和英特尔中国区技术部总经理高宇再玩个“AI PC的真心话大冒险”游戏,探讨对AI PC的诱惑,谁会先扛不住? 问题1:对于上班族来说,您认为他们
    的头像 发表于 12-16 16:10 206次阅读
    AI PC真心话大<b class='flag-5'>冒险</b>

    FPGA工程师面试刚需

    的逻辑资源,并且速度快。但是使用的时候消耗BLOCKRAM的资源是其块大小的整数倍。 竞争:在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争冒险: 由于
    发表于 11-03 10:39

    FPGA | 竞争冒险和毛刺问题

    产生的条件,减少毛刺的发生。例如,在数字电路设计中,常常采用格雷码计数器取代普通的二进制计数器,这是因为格雷码计数器的输出每次只有一位跳变,消除了竞争冒险的发生条件,避免了毛刺的产生。 3、采样法由于
    发表于 11-02 17:22

    数字电路中的竞争冒险现象

    门电路的两个输入信号同时向相反的逻辑电平跳变的现象叫做 竞争 ,这种竞争可能在电路的输出端产生尖峰脉冲,这种现象称为 竞争冒险
    的头像 发表于 09-25 11:50 1523次阅读
    数字电路中的<b class='flag-5'>竞争</b><b class='flag-5'>冒险</b>现象

    用于肾移植排斥反应早期检测的植入式柔性生物电子系统设计

    肾脏移植在器官移植手术中占据了重要地位,但由于供受体之间的遗传不匹配,以及排斥反应等问题,肾脏移植仍然面临挑战。
    的头像 发表于 09-15 09:06 1167次阅读
    用于肾移植<b class='flag-5'>排斥</b>反应早期检测的植入式柔性生物电子系统设计

    相互作用对有机光电性质调控的理论研究

    相较于共价键相互作用,分子内非共价相互作用是一种弱的两个原子之间或者两个基团之间的非键相互作用。
    的头像 发表于 07-31 17:12 601次阅读
    弱<b class='flag-5'>相互</b>作用对有机光电性质调控的理论研究

    Linux内核同步机制mutex详解

    在linux内核中,互斥量mutex是一种保证CPU串行运行的睡眠锁机制。和spinlock类似,都是同一个时刻只有一个线程进入临界资源,不同的是,当无法获取锁的时候,spinlock原地自旋,而mutex则是选择挂起当前线程,进入阻塞状态。所以,
    发表于 06-26 16:05 539次阅读

    电气基础知识总结

    答:电荷之间存在着相互作用力,同性电荷相互排斥,异性电荷相互吸引。
    的头像 发表于 06-26 10:24 556次阅读

    bbc micro:bit板的micro python冒险

    电子发烧友网站提供《bbc micro:bit板的micro python冒险.zip》资料免费下载
    发表于 06-19 16:13 0次下载
    bbc micro:bit板的micro python<b class='flag-5'>冒险</b>

    Verilog竞争冒险的产生原因与判断方法

    数字电路中,信号传输与状态变换时都会有一定的延时。
    的头像 发表于 06-01 15:19 1932次阅读
    Verilog<b class='flag-5'>竞争</b>与<b class='flag-5'>冒险</b>的产生原因与判断方法

    简谈FPGA的竞争冒险和毛刺问题

    今天和大侠简单聊一聊FPGA的竞争冒险和毛刺问题,话不多说,上货。 FPGA从1984 年到今天,发展经历了30 多年时间。它可以替代其他 PLD 或者各种中小规模数字逻辑芯片在数字系统中广
    发表于 05-30 17:15