色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

"可重入"和"線(xiàn)程安全"是兩個(gè)概念 千萬(wàn)不要搞混了

Q4MP_gh_c472c21 ? 來(lái)源:嵌入式ARM ? 作者:bug菌 ? 2021-02-10 17:38 ? 次閱讀

大伙估計(jì)在多任務(wù)程序中使用printf打印一些信息是非常歡樂(lè)的一件事,運(yùn)氣不錯(cuò)的話(huà)偶爾錯(cuò)幾個(gè)數(shù)據(jù)、亂幾個(gè)碼也不是什么大問(wèn)題,倒霉點(diǎn)的可能就直接掛機(jī)、卡死了,那這些到底是什么原因?qū)е碌哪兀? 今天的這篇文章應(yīng)該可以幫助你解決一大部分問(wèn)題。

01

兩個(gè)概念

1、可重入函數(shù) 多任務(wù)系統(tǒng)中每個(gè)進(jìn)程或線(xiàn)程都是由多種執(zhí)行流并發(fā)運(yùn)行的,當(dāng)執(zhí)行流同時(shí)進(jìn)入同一個(gè)函數(shù)(大部分是由于中斷),而不會(huì)導(dǎo)致函數(shù)結(jié)果不確定或者錯(cuò)誤,就可認(rèn)為該函數(shù)是可重入的。

a2100dc0-5f65-11eb-8b86-12bb97331649.png

上圖中的signal一般都是因?yàn)橹袛嗟仍虍a(chǎn)生的,在我們多任務(wù)系統(tǒng)中中斷更是無(wú)時(shí)無(wú)刻的在隨機(jī)發(fā)生著,一旦線(xiàn)程或者進(jìn)程被中斷轉(zhuǎn)而去執(zhí)行消息處理,而恰巧的是此時(shí)線(xiàn)程所執(zhí)行的操作與信號(hào)處理相同,比如malloc,他們都共享同一個(gè)資源(全局堆空間)。 當(dāng)信號(hào)處理返回到原來(lái)的執(zhí)行流中卻由于信號(hào)處理的改寫(xiě)而受影響,比如重入的問(wèn)題導(dǎo)致malloc會(huì)分配相同的內(nèi)存區(qū)域,或者其他的數(shù)據(jù)篡改,鎖死等,這樣該函數(shù)就是不可重入的。 2、線(xiàn)程安全 多個(gè)線(xiàn)程并發(fā)運(yùn)行且執(zhí)行相同的代碼,而不會(huì)導(dǎo)致運(yùn)行結(jié)果受影響,我們就認(rèn)為是線(xiàn)程安全。

a2b2c6e6-5f65-11eb-8b86-12bb97331649.png

對(duì)于線(xiàn)程安全往往加個(gè)互斥鎖就可以解決戰(zhàn)斗,當(dāng)然你如果沒(méi)有使用全局變量、靜態(tài)變量等等共享資源,那他們基本上是線(xiàn)程安全的。 其實(shí)從表面上看這兩個(gè)概念并沒(méi)有太大的差異,無(wú)非就是運(yùn)行同一塊代碼,會(huì)不會(huì)導(dǎo)致不確定的結(jié)果。 3、VS 再仔細(xì)想想,其實(shí)這兩個(gè)概念所關(guān)注的層面是不同的,可重入函數(shù)要求相同執(zhí)行流執(zhí)行不會(huì)受影響,而線(xiàn)程安全僅僅只是在線(xiàn)程這個(gè)層面上進(jìn)行的要求。 所以可重入的要求比線(xiàn)程安全要更加嚴(yán)苛,可重入必定線(xiàn)程安全,而線(xiàn)程安全并不一定可重入,如下圖是他們的關(guān)系:

a64389d0-5f65-11eb-8b86-12bb97331649.png

02

不可重入死鎖

下面我們來(lái)簡(jiǎn)單分析一下不可重入死鎖的問(wèn)題 :

a9f66ade-5f65-11eb-8b86-12bb97331649.png

上圖我們?yōu)楹瘮?shù)加了互斥lock(不考慮遞歸鎖),那么它就是線(xiàn)程安全的,然而剛把共享資源部分上鎖,隨機(jī)的中斷信號(hào)處理發(fā)生了,轉(zhuǎn)而執(zhí)行信號(hào)處理函數(shù),而在信號(hào)處理中也同樣執(zhí)行相同的Fuction代碼,此時(shí)資源已經(jīng)鎖住,必須等待前面調(diào)用Fuction函數(shù)的線(xiàn)程釋放,但此線(xiàn)程又在等待信號(hào)處理訪問(wèn),最終死鎖,涼涼! 當(dāng)然你可以使用遞歸鎖來(lái)進(jìn)行處理,這在正常設(shè)計(jì)中是需要避免的,當(dāng)時(shí)對(duì)于一些需要調(diào)用外部庫(kù)的設(shè)計(jì),只能選擇遞歸鎖等。

03

可重入的識(shí)別

說(shuō)實(shí)在對(duì)于很多玩RTOS的伙計(jì),直接關(guān)中斷、開(kāi)中斷的臨界資源保護(hù)就基本告別了一部分不可重入問(wèn)題,而這樣的操作會(huì)影響多任務(wù)的并發(fā)執(zhí)行,但是如果你只是加了幾把鎖,可能在程序中不重入的問(wèn)題還是要注意一下。 這里不可重入問(wèn)題不完全總結(jié)了幾點(diǎn):

1、標(biāo)準(zhǔn)IO函數(shù)都會(huì)使用到全局的數(shù)據(jù)結(jié)構(gòu),比如printf函數(shù) : 由于使用了全局標(biāo)準(zhǔn)輸出stdout,所以線(xiàn)程不安全也就更不能重入了。

2、malloc和free : 這兩個(gè)函數(shù)都是在全局的堆空間上進(jìn)行操作,如果有加鎖那就是線(xiàn)程安全的,但是不可重入。

3、對(duì)于全局、靜態(tài)的資源的訪問(wèn)都會(huì)導(dǎo)致線(xiàn)程不安全,比如一些函數(shù)使用的是靜態(tài)緩存區(qū)等,你可以使用本地copy加臨界區(qū)來(lái)進(jìn)行保護(hù),盡量使用局部變量。

4、調(diào)用不可重入或者線(xiàn)程不安全的函數(shù)也會(huì)繼承對(duì)應(yīng)特點(diǎn)。

責(zé)任編輯:xj

原文標(biāo)題:同事"可重入"與"線(xiàn)程安全"老分不清,導(dǎo)致一堆bug!

文章出處:【微信公眾號(hào):嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    3

    文章

    4333

    瀏覽量

    62708
  • BUG
    BUG
    +關(guān)注

    關(guān)注

    0

    文章

    155

    瀏覽量

    15679
  • 線(xiàn)程安全
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    2465

原文標(biāo)題:同事"可重入"與"線(xiàn)程安全"老分不清,導(dǎo)致一堆bug!

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    江西薩瑞微榮獲"2024全國(guó)第三代半導(dǎo)體制造最佳新銳企業(yè)"稱(chēng)號(hào)

    快速發(fā)展與創(chuàng)新實(shí)力在2024全國(guó)第三代半導(dǎo)體產(chǎn)業(yè)發(fā)展大會(huì)上,江西薩瑞微電子科技有限公司榮獲"2024全國(guó)第三代半導(dǎo)體制造最佳新銳企業(yè)"稱(chēng)號(hào)。這一榮譽(yù)不僅是對(duì)公司技術(shù)創(chuàng)新和產(chǎn)業(yè)化
    的頭像 發(fā)表于 10-31 08:09 ?351次閱讀
    江西薩瑞微榮獲&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;2024全國(guó)第三代半導(dǎo)體制造最佳新銳企業(yè)&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;稱(chēng)號(hào)

    OCTC發(fā)布&amp;quot;算力工廠&amp;quot;!力促智算中心高效規(guī)劃建設(shè)投運(yùn)

    創(chuàng)新提出面向未來(lái)數(shù)據(jù)中心的&quot;算力工廠&quot;模式,核心是以規(guī)(劃)、建(設(shè))、運(yùn)(營(yíng))一體化的交鑰匙工程,實(shí)現(xiàn)智算中心快速投運(yùn)、綠色低碳,在當(dāng)前AIGC算力供需挑戰(zhàn)下,開(kāi)創(chuàng)了智算中心建設(shè)運(yùn)營(yíng)的新思路、新方法,讓客戶(hù)在智算中心建設(shè)運(yùn)營(yíng)上更省心、更省力。
    的頭像 發(fā)表于 10-11 09:10 ?523次閱讀
    OCTC發(fā)布&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;算力工廠&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;!力促智算中心高效規(guī)劃建設(shè)投運(yùn)

    軟通動(dòng)力攜手華為啟動(dòng)&amp;quot;智鏈險(xiǎn)界&amp;quot;計(jì)劃,強(qiáng)化生態(tài)鏈接共啟保險(xiǎn)AI新時(shí)代

    軟通動(dòng)力攜子品牌軟通金科受邀參加此次大會(huì),發(fā)表&quot;智馭未來(lái) ? 探索保險(xiǎn)AI新業(yè)態(tài)&quot;主旨演講,并攜手華為正式啟動(dòng)&quot;智鏈險(xiǎn)界——保險(xiǎn)生態(tài)場(chǎng)景鏈接計(jì)劃&quot
    的頭像 發(fā)表于 09-23 19:22 ?379次閱讀
    軟通動(dòng)力攜手華為啟動(dòng)&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;智鏈險(xiǎn)界&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;計(jì)劃,強(qiáng)化生態(tài)鏈接共啟保險(xiǎn)AI新時(shí)代

    全方位精準(zhǔn)測(cè)量技術(shù)助力:中國(guó)經(jīng)濟(jì)加力發(fā)展向前&amp;amp;quot;進(jìn)&amp;amp;quot;

    全方位精準(zhǔn)測(cè)量技術(shù)助力:中國(guó)經(jīng)濟(jì)加力發(fā)展向前&quot;進(jìn)&quot;
    的頭像 發(fā)表于 07-15 09:53 ?369次閱讀
    全方位精準(zhǔn)測(cè)量技術(shù)助力:中國(guó)經(jīng)濟(jì)加力發(fā)展向前&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;進(jìn)&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;

    晶科能源榮獲EUPD Research授予的六項(xiàng)&amp;quot;頂級(jí)光伏品牌&amp;quot;稱(chēng)號(hào)

    近日,由權(quán)威調(diào)研機(jī)構(gòu)EUPD Research頒發(fā),晶科能源在巴西、哥倫比亞、墨西哥、智利等拉美主要國(guó)家六個(gè)地區(qū)榮獲 &quot;頂級(jí)光伏品牌 &quot;稱(chēng)號(hào)。憑借先進(jìn)的技術(shù)、完善的流程和對(duì)卓越的不懈追求,晶科能源將繼續(xù)提升行
    的頭像 發(fā)表于 05-10 09:17 ?511次閱讀
    晶科能源榮獲EUPD Research授予的六項(xiàng)&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;頂級(jí)光伏品牌&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;稱(chēng)號(hào)

    微軟去年提交1128個(gè)漏洞,&amp;quot;提權(quán)&amp;quot;和&amp;quot;遠(yuǎn)程代碼執(zhí)行&amp;quot;最為常見(jiàn)

    據(jù)BeyondTrust安全平臺(tái)統(tǒng)計(jì)顯示,微軟于2023年共報(bào)告漏洞1128項(xiàng),相較于2022年的1292個(gè)略微下滑5%,但總漏洞數(shù)仍維持在歷史高位。值得注意的是,NIST通用漏洞評(píng)級(jí)系統(tǒng)中評(píng)分9.0以上的嚴(yán)重漏洞數(shù)量已明顯減少
    的頭像 發(fā)表于 04-29 16:11 ?457次閱讀

    九聯(lián)科技推出一款&amp;quot;射手座&amp;quot;UMA502-T7物聯(lián)網(wǎng)模組

    在物聯(lián)網(wǎng)技術(shù)飛速發(fā)展的時(shí)代背景下,九聯(lián)科技憑借深厚的研發(fā)底蘊(yùn)與創(chuàng)新精神,精心打造出象征著自由探索與勇敢進(jìn)取精神的&quot;射手座&quot;UMA502-T7模組,以昂揚(yáng)之姿挺進(jìn)海外市場(chǎng),宣告了九聯(lián)科技物聯(lián)網(wǎng)模組國(guó)際化進(jìn)程的盛大起航。
    的頭像 發(fā)表于 04-14 09:38 ?892次閱讀

    2024CCLTA | &amp;quot;智&amp;quot;領(lǐng)檢驗(yàn),&amp;quot;慧&amp;quot;聚山城

    上海2024年4月2日?/美通社/ --?2024年3月28日-31日,以"融合發(fā)展,引領(lǐng)未來(lái)"為主題的第十屆全國(guó)檢驗(yàn)醫(yī)學(xué)技術(shù)與應(yīng)用學(xué)術(shù)會(huì)議暨協(xié)同創(chuàng)新、融合發(fā)展國(guó)際論壇,第十屆全國(guó)臨床檢驗(yàn)裝備展覽會(huì)(CCLTA2024)在重慶拉開(kāi)帷幕。展會(huì)上,貝克曼庫(kù)爾特分享了"智慧檢驗(yàn)"、"疾病管理"、"創(chuàng)升中國(guó)"下的重要力作,包括全自動(dòng)化學(xué)發(fā)光免疫分析DxI800、全自動(dòng)生化分析儀AU5800、微生物鑒定藥敏分析儀DxM1096、智研平臺(tái)、DxAI智控平臺(tái)LabBox Innovation等。 展會(huì)現(xiàn)場(chǎng)照片 作為體外
    的頭像 發(fā)表于 04-07 18:19 ?1074次閱讀
    2024CCLTA | &<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;智&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;領(lǐng)檢驗(yàn),&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;慧&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;聚山城

    科沃斯掃地機(jī)器人通過(guò)TüV萊茵&amp;quot;防纏繞&amp;quot;和&amp;quot;高效邊角清潔&amp;quot;認(rèn)證

    3月15日,在2024中國(guó)家電及消費(fèi)電子博覽會(huì)(AWE)上,國(guó)際獨(dú)立第三方檢測(cè)、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國(guó)萊茵TüV大中華區(qū)(簡(jiǎn)稱(chēng)&quot;TüV萊茵&quot;)為科沃斯款掃地機(jī)器人(型號(hào):DDX14、DDX11)
    的頭像 發(fā)表于 03-17 10:49 ?876次閱讀

    Quanterix宣布Tau217血液檢測(cè)被美國(guó)FDA授予 &amp;quot;突破性器械 &amp;quot;認(rèn)證

    3月4日,Quanterix宣布其Simoa磷酸化Tau217(p-Tau 217)血液檢測(cè)已被美國(guó)FDA授予 &quot;突破性器械 &quot;認(rèn)證,可用于阿爾茨海默病 (AD) 的輔助診斷評(píng)估。
    的頭像 發(fā)表于 03-12 17:23 ?2337次閱讀

    電池&amp;quot;無(wú)&amp;quot;隔膜?SEI新&amp;quot;膜&amp;quot;法!

    枝晶是阻礙鋅基水系電池發(fā)展的一個(gè)亟待解決的問(wèn)題。電沉積過(guò)程主要包含離子遷移、電還原和電結(jié)晶三個(gè)步驟。
    的頭像 發(fā)表于 03-11 10:03 ?1008次閱讀
    電池&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;無(wú)&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;隔膜?SEI新&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;膜&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;法!

    中創(chuàng)新航榮獲逸動(dòng)科技2023年度&amp;quot;優(yōu)秀戰(zhàn)略合作伙伴獎(jiǎng)&amp;quot;

    近日,中創(chuàng)新航憑借電動(dòng)船舶領(lǐng)域領(lǐng)先的技術(shù)實(shí)力、卓越的產(chǎn)品質(zhì)量、持續(xù)穩(wěn)定的交付能力以及優(yōu)質(zhì)高效的服務(wù),榮獲逸動(dòng)科技2023年度&quot;優(yōu)秀戰(zhàn)略合作伙伴獎(jiǎng)&quot;。
    的頭像 發(fā)表于 02-29 13:51 ?501次閱讀

    第二代配網(wǎng)行波故障預(yù)警與定位裝置YT/XJ-001:守護(hù)電力線(xiàn)路的超能&amp;amp;quot;哨兵&amp;amp;quot;

    第二代配網(wǎng)行波故障預(yù)警與定位裝置YT/XJ-001:守護(hù)電力線(xiàn)路的超能&quot;哨兵&quot; 電力,如同現(xiàn)代社會(huì)的血脈,支撐著我們的生活和工作正常運(yùn)行。然而,一旦這條血脈出現(xiàn)故障,生活和工作
    的頭像 發(fā)表于 01-22 15:11 ?560次閱讀
    第二代配網(wǎng)行波故障預(yù)警與定位裝置YT/XJ-001:守護(hù)電力線(xiàn)路的超能&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;哨兵&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;

    PSOC6使用帶有2個(gè)ADC通道的DMA如何設(shè)置 \&quot; 源 \&quot; 地址?

    ,然后觸發(fā)中斷。 然后我讀取了中斷函數(shù)中的兩個(gè) ADC 結(jié)果。 20kHz 時(shí)的 PWM —--&amp;gt; &amp;gt; \&quot; soc \&
    發(fā)表于 01-19 07:47

    電流互感器帶&amp;quot;S&amp;quot;和不帶S所表示的含義及區(qū)別

    電流互感器帶&quot;S&quot;和不帶S都是表示測(cè)量電流互感器精度等級(jí)。在規(guī)定使用條件下,互感器的誤差在該等級(jí)規(guī)定的限值之內(nèi)。電力工程中計(jì)量常用的等級(jí)有0.2、0.5、0.2S、0.5S等。
    的頭像 發(fā)表于 01-14 10:32 ?1593次閱讀
    電流互感器帶&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;S&<b class='flag-5'>amp</b>;<b class='flag-5'>quot</b>;和不帶S所表示的含義及區(qū)別
    主站蜘蛛池模板: 亚洲AV无码乱码A片无码蜜桃| 久久婷婷五月综合色丁香| 国产亚洲精品久久久久久久软件 | 97色在线视频| 国产午夜视频在线| 女人高潮被爽到呻吟在线观看| 性与肉体电影免费观看| 99久久精品国产亚洲AV| 簧片在线免费观看| 色综合五月激情综合色一区 | 野花社区WWW韩国日本| 成人免费视频在线观看| 久久人妻少妇嫩草AV蜜桃35I| 玩弄放荡人妻一区二区三区| 999www成人免费视频| 黄色三级网站| 天天综合亚洲综合网站| FREECHINESE东北群交| 久久精品AV一区二区无码| 无限资源在线看影院免费观看| H揉捏娇喘乳叫床NP调教视频| 精品区2区3区4区产品乱码9| 视频一区亚洲视频无码| 99手机在线视频| 久久无码人妻中文国产| 亚洲国产在线精品国| 国产成人无码精品久久久免费69 | 韩国伦理片2018在线播放免费观看| 日韩一区二区三区视频在线观看| 2017必看无码作品| 黑人BBCVIDEOS极品| 无套日出白浆在线播放| 春水福利app导航| 欧美深深色噜噜狠狠yyy| 最近的2019中文字幕国语| 精精国产www视频在线观看免费| 我在厨房摸岳的乳HD在线观看 | 97精品少妇偷拍AV| 久久五月综合婷婷中文云霸高清| 亚洲精品婷婷无码成人A片在线| 公和我做好爽添厨房中文字幕|