91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用相互排斥Mutex來解決競爭冒險(xiǎn)

工程師鄧生 ? 來源:硬件會(huì) ? 作者:硬件會(huì) ? 2022-09-14 15:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用相互排斥 Mutex 來解決競爭冒險(xiǎn)。

就相當(dāng)于將共享的全局變量放到一個(gè)保險(xiǎn)柜里,當(dāng)任務(wù)1獲取此變量時(shí),先申請(qǐng)一把鑰匙打開保險(xiǎn)柜,對(duì)共享資源進(jìn)行訪問。當(dāng)任務(wù)2也想訪問共享資源時(shí),由于申請(qǐng)不到鑰匙,就訪問不了共享資源,只能等待,等待到任務(wù)1釋放鑰匙,才可以獲取。示例以下:

第一步(創(chuàng)建一把鑰匙):

SemaphoreHandle_t xHandler; 創(chuàng)建Handler

xHandler = xSemaphoreCreateMutex(); 創(chuàng)建一個(gè)MUTEX(鑰匙)

第二步(獲取鑰匙):

xSemaphoreTake(xHanlder, timeout); 指定時(shí)間內(nèi)獲取信號(hào)量 返回pdPASS, 或者pdFAIL。

第三步(釋放鑰匙):

xSemaphoreGive(xHandler); 釋放

共享的資源被鎖在了一個(gè)箱子里,只有一把鑰匙,有鑰匙的任務(wù)才能對(duì)改資源進(jìn)行訪問。

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

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



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 信號(hào)源
    +關(guān)注

    關(guān)注

    5

    文章

    560

    瀏覽量

    47749

原文標(biāo)題:任務(wù)與任務(wù)之間通訊二(共享全局變量)

文章出處:【微信號(hào):硬件會(huì),微信公眾號(hào):硬件會(huì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用SPI給兩塊板子相互通信,主從設(shè)備該如何選擇呢?

    使用SPI給兩塊板子相互通信,主從設(shè)備該如何選擇呢?
    發(fā)表于 01-20 07:11

    【「Linux 設(shè)備驅(qū)動(dòng)開發(fā)(第 2 版)」閱讀體驗(yàn)】Linux內(nèi)核開發(fā)基礎(chǔ)

    ,本文介紹Linux內(nèi)核開發(fā)基礎(chǔ) 處理內(nèi)核的核心輔助函數(shù) Linux內(nèi)核加鎖機(jī)制和共享資源 無論是獨(dú)占式還是非獨(dú)占式地訪問一個(gè)資源,若該資源可以被多個(gè)競爭者訪問,則稱其為共享資源。當(dāng)獨(dú)占式地訪問資源
    發(fā)表于 01-12 22:45

    飛凌嵌入式ElfBoard-文件I/O的了解探究之競爭冒險(xiǎn)

    競爭冒險(xiǎn)(Race Condition)指的是在多線程或多進(jìn)程環(huán)境中,多個(gè)線程或進(jìn)程對(duì)共享資源進(jìn)行訪問和修改時(shí)可能導(dǎo)致的不確定性結(jié)果或錯(cuò)誤行為。競爭冒險(xiǎn)通常發(fā)生在多個(gè)線程或進(jìn)程同時(shí)訪問
    發(fā)表于 11-26 15:38

    新紫光集團(tuán)的核心競爭力是什么?

    在智能科技產(chǎn)業(yè)蓬勃發(fā)展的當(dāng)下,新紫光集團(tuán)作為具有全球競爭力的智能科技產(chǎn)業(yè)集團(tuán)脫穎而出,其核心競爭力在多方面有著顯著體現(xiàn),主要涵蓋全產(chǎn)業(yè)鏈布局、技術(shù)創(chuàng)新能力、全球市場影響力以及高效的集團(tuán)賦能與協(xié)同
    的頭像 發(fā)表于 11-26 14:09 ?517次閱讀

    探索時(shí)鐘發(fā)生器的競爭優(yōu)勢(shì)

    隨著科技的進(jìn)步,電子設(shè)備對(duì)時(shí)鐘信號(hào)的要求愈發(fā)嚴(yán)格,而時(shí)鐘發(fā)生器作為提供這些關(guān)鍵信號(hào)的核心組件,其性能直接影響到整個(gè)系統(tǒng)的穩(wěn)定與效率。本文將深入探討時(shí)鐘發(fā)生器的競爭優(yōu)勢(shì),揭示其在激烈市場競爭中脫穎而出
    的頭像 發(fā)表于 10-23 17:20 ?771次閱讀
    探索時(shí)鐘發(fā)生器的<b class='flag-5'>競爭</b>優(yōu)勢(shì)

    tcpip線程被mu0鎖住導(dǎo)致網(wǎng)絡(luò)線程無法使用怎么解決?

    (); list_mutex(); list_timer(); } else if(ch == 0x02) { for(int i=0;i < 8; i
    發(fā)表于 09-29 06:41

    使用lv_label_set_text釋放內(nèi)存沒對(duì)齊是什么原因?qū)е碌模?/a>

    )Air_Data[1]); rt_mutex_take(lv_mutex, RT_WAITING_FOREVER); // 確保線程安全 lv_label_set_text
    發(fā)表于 09-16 06:44

    stm32h7 串口 dma 發(fā)送長時(shí)間運(yùn)行似乎會(huì)卡死,為什么?

    (rt_uint8_t *data, int len); rt_mutex_t dynamic_mutex = RT_NULL; bool isread_exit; }; void Serial::TxDone
    發(fā)表于 09-15 06:48

    芯MLX91218榮獲2025電驅(qū)動(dòng)技術(shù)創(chuàng)新獎(jiǎng)

    在科技飛速發(fā)展的當(dāng)下,電驅(qū)動(dòng)技術(shù)領(lǐng)域競爭激烈。近日,2025第五屆全球xEV驅(qū)動(dòng)系統(tǒng)技術(shù)產(chǎn)業(yè)大會(huì)落幕,邁芯IMC - Hall電流傳感器MLX91218憑借其卓越的性能和創(chuàng)新的技術(shù),榮獲“2025電驅(qū)動(dòng)技術(shù)創(chuàng)新獎(jiǎng)”!
    的頭像 發(fā)表于 09-09 10:35 ?932次閱讀

    rt-thread線程調(diào)用rt_thread_mdelay延時(shí)后再恢復(fù)運(yùn)行時(shí)thread會(huì)變,導(dǎo)致mutex釋放失敗,怎么解決?

    代碼片段如下: 運(yùn)行結(jié)果: 可以看到,在線程延時(shí)后,再恢復(fù)運(yùn)行時(shí),用rt_thread_self函數(shù)獲取到的值與沒有延時(shí)時(shí)獲取到的值不一樣了,導(dǎo)致mutex無法釋放,其它等待這個(gè)mutex的線程都無法運(yùn)行了,應(yīng)該怎么處理這個(gè)問題? RTThread還不太熟悉,跪請(qǐng)大
    發(fā)表于 09-09 08:06

    常見電子類硬件筆試題整理(含答案)

    ,那么超過量就分別被稱為建立時(shí)間裕量和保持時(shí)間裕量。 4、什么是競爭冒險(xiǎn)現(xiàn)象?怎樣判斷?如何消除?(漢王筆試) 在組合邏輯中,由于門的輸入信號(hào)通路中經(jīng)過了不同的延時(shí),導(dǎo)致到達(dá)該門的時(shí)間不一致叫競爭
    發(fā)表于 06-27 15:05

    最全的硬件工程師筆試試題集

    到來以后,數(shù)據(jù)保持穩(wěn)定不變的時(shí)間。如果 Hold Time 不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器。 (2) 什么是競爭冒險(xiǎn)現(xiàn)象?怎樣判斷?如何消除? 答:在組合邏輯電路中,由于門電路的輸入信號(hào)經(jīng)過的通路
    發(fā)表于 06-26 15:34

    LoRa設(shè)備發(fā)射和接收的信號(hào)相互干擾怎么辦

    當(dāng)LoRa設(shè)備發(fā)射和接收的信號(hào)相互干擾時(shí),可以采取以下措施減少或消除這種干擾,從而提高通信的可靠性和穩(wěn)定性: 1. 頻率規(guī)劃與信道管理 選擇合適的頻段:根據(jù)應(yīng)用場景和區(qū)域特點(diǎn),選擇適合的LoRa
    的頭像 發(fā)表于 06-16 13:20 ?713次閱讀

    自動(dòng)駕駛激光雷達(dá)之間會(huì)相互干擾嗎?

    [首發(fā)于智駕最前沿微信公眾號(hào)]就在最近,有一位小伙伴問了一個(gè)非常有趣的問題,如果多輛搭載激光雷達(dá)的自動(dòng)駕駛車輛相遇,是否會(huì)相互干擾?對(duì)于這個(gè)問題,智駕最前沿查閱了多份資料及相關(guān)文獻(xiàn),今天就帶大家分析
    的頭像 發(fā)表于 06-03 10:02 ?940次閱讀

    常見電子類硬件筆試題整理(含答案)

    ,那么超過量就分別被稱為建立時(shí)間裕量和保持時(shí)間裕量。 4、什么是競爭冒險(xiǎn)現(xiàn)象?怎樣判斷?如何消除?(漢王筆試) 在組合邏輯中,由于門的輸入信號(hào)通路中經(jīng)過了不同的延時(shí),導(dǎo)致到達(dá)該門的時(shí)間不一致叫競爭
    發(fā)表于 05-26 14:30