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

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

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

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

使用相互排斥Mutex來解決競爭冒險

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

掃碼添加小助手

加入工程師交流群

使用相互排斥 Mutex 來解決競爭冒險。

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

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

SemaphoreHandle_t xHandler; 創(chuàng)建Handler

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

第二步(獲取鑰匙):

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

第三步(釋放鑰匙):

xSemaphoreGive(xHandler); 釋放

共享的資源被鎖在了一個箱子里,只有一把鑰匙,有鑰匙的任務(wù)才能對改資源進(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 信號源
    +關(guān)注

    關(guān)注

    5

    文章

    560

    瀏覽量

    47757

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

    新紫光集團的核心競爭力是什么?

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

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

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

    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)存沒對齊是什么原因?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ā)送長時間運行似乎會卡死,為什么?

    (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ū)動技術(shù)創(chuàng)新獎

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

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

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

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

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

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

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

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

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

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

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

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

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