在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

自旋鎖和互斥鎖的區(qū)別有哪些

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:嵌入式Linux系統(tǒng)開 ? 2023-07-21 11:19 ? 次閱讀

自旋鎖

自旋鎖與互斥鎖很相似,在訪問共享資源之前對自旋鎖進(jìn)行上鎖,在訪問完成后釋放自旋鎖(解鎖);事實上,從實現(xiàn)方式上來說,互斥鎖是基于自旋鎖來實現(xiàn)的,所以自旋鎖相較于互斥鎖更加底層。

自旋鎖與互斥鎖之間的區(qū)別:

  1. 實現(xiàn)方式上的區(qū)別:互斥鎖是基于自旋鎖而實現(xiàn)的,所以自旋鎖相較于互斥鎖更加底層;
  2. 開銷上的區(qū)別:獲取不到互斥鎖會陷入阻塞狀態(tài)(休眠),直到獲取到鎖時被喚醒;而獲取不到自旋鎖會在原地“自旋”,直到獲取到鎖;休眠與喚醒開銷是很大的,所以互斥鎖的開銷要遠(yuǎn)高于自旋鎖、自旋鎖的效率遠(yuǎn)高于互斥鎖;但如果長時間的“自旋”等待,會使得 CPU 使用效率降低,故自旋鎖不適用于等待時間比較長的情況。
  3. 使用場景的區(qū)別:自旋鎖在用戶態(tài)應(yīng)用程序中使用的比較少,通常在內(nèi)核代碼中使用比較多;因為自旋鎖可以在中斷服務(wù)函數(shù)中使用,而互斥鎖則不行,在執(zhí)行中斷服務(wù)函數(shù)時要求不能休眠、不能被搶占(內(nèi)核中使用自旋鎖會自動禁止搶占),一旦休眠意味著執(zhí)行中斷服務(wù)函數(shù)時主動交出了CPU 使用權(quán),休眠結(jié)束時無法返回到中斷服務(wù)函數(shù)中,這樣就會導(dǎo)致死鎖!

初始化和銷毀自旋鎖

#include < pthread.h >

int pthread_spin_init(pthread_spinlock_t *lock, int pshared);
int pthread_spin_destroy(pthread_spinlock_t *lock);

加鎖和解鎖

#include < pthread.h >

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

    關(guān)注

    87

    文章

    11423

    瀏覽量

    212377
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    507

    瀏覽量

    20031
收藏 人收藏

    評論

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

    深度解析自旋自旋的實現(xiàn)方案

    入場券自旋和MCS自旋都屬于排隊自旋(queued spinlock),進(jìn)程按照申請
    發(fā)表于 09-19 11:39 ?4596次閱讀
    深度解析<b class='flag-5'>自旋</b><b class='flag-5'>鎖</b>及<b class='flag-5'>自旋</b><b class='flag-5'>鎖</b>的實現(xiàn)方案

    Linux高級編程---互斥

    在Linux系統(tǒng)里,有很多的應(yīng)用,包括互斥,文件,讀寫等等,信號量其實也應(yīng)該是的一種。
    發(fā)表于 01-13 10:07

    信號量、互斥自旋

    信號量、互斥自旋http://bbs.edu118.com/forum.php?mod=viewthread&tid=488&fromuid=231(出處: 信盈達(dá)IT技術(shù)社
    發(fā)表于 08-29 09:48

    你知道自旋互斥區(qū)別

    的應(yīng)用就是用Pthreads提供的機(jī)制(lock)來對多個線程之間共 享的臨界區(qū)(Critical Section)進(jìn)行保護(hù)(另一種常用的同步機(jī)制是barrier)。
    發(fā)表于 05-14 17:44 ?3347次閱讀
    你知道<b class='flag-5'>自旋</b><b class='flag-5'>鎖</b>和<b class='flag-5'>互斥</b><b class='flag-5'>鎖</b><b class='flag-5'>區(qū)別</b>?

    信號量和自旋

    信號量時,不可以再持有自旋。信號量基本使用形式為:static DECLARE_MUTEX(mr_sem);//聲明互斥信號量if(down_interruptible(&mr_sem
    發(fā)表于 04-02 14:43 ?860次閱讀

    Linux 自旋spinlock

    背景 由于在多處理器環(huán)境中某些資源的有限性,有時需要互斥訪問(mutual exclusion),這時候就需要引入的概念,只有獲取了的任務(wù)才能夠?qū)Y源進(jìn)行訪問,由于多線程的核心是CPU的時間分片
    的頭像 發(fā)表于 09-11 14:36 ?2233次閱讀

    深入了解互斥、條件變量、讀寫以及自旋

    C++11只包含其中的部分。接下來我主要通過pthread的API來展開本文。 mutex(互斥量) mutex(mutual exclusive)即互斥量(互斥體)。也便是常說的互斥
    的頭像 發(fā)表于 11-01 10:02 ?2008次閱讀

    自旋的發(fā)展歷史與使用方法

    自旋是Linux內(nèi)核里最常用的之一,自旋的概念很簡單,就是如果加鎖失敗在等時是使用休眠等
    的頭像 發(fā)表于 08-08 08:51 ?1980次閱讀

    使用Linux自旋實現(xiàn)互斥點燈

    自旋最多只能被一個可執(zhí)行線程持有。如果一個線程試圖獲得一個已經(jīng)被持有的自旋,那么該線程將循環(huán)等待,然后不斷的判斷是否能夠被成功獲取,直
    的頭像 發(fā)表于 04-13 15:09 ?909次閱讀
    使用Linux<b class='flag-5'>自旋</b><b class='flag-5'>鎖</b>實現(xiàn)<b class='flag-5'>互斥</b>點燈

    Linux互斥的作用 互斥是什么

    1、互斥 互斥(mutex),在訪問共享資源之前對互斥進(jìn)行上鎖,在訪問完成后釋放
    的頭像 發(fā)表于 07-21 11:13 ?1120次閱讀

    互斥、條件變量、讀寫自旋及信號量介紹

    一、互斥(同步) 在多任務(wù)操作系統(tǒng)中,同時運行的多個任務(wù)可能都需要使用同一種資源。這個過程有點類似于,公司部門里,我在使用著打印機(jī)打印東西的同時(還沒有打印完),別人剛好也在此刻使用打印機(jī)打印東西
    的頭像 發(fā)表于 11-10 16:16 ?2916次閱讀
    <b class='flag-5'>互斥</b><b class='flag-5'>鎖</b>、條件變量、讀寫<b class='flag-5'>鎖</b>、<b class='flag-5'>自旋</b><b class='flag-5'>鎖</b>及信號量介紹

    如何用C++11實現(xiàn)自旋

    下面我會分析一下自旋,并代碼實現(xiàn)自旋互斥的性能對比,以及利用C++11實現(xiàn)
    的頭像 發(fā)表于 11-11 16:48 ?1703次閱讀
    如何用C++11實現(xiàn)<b class='flag-5'>自旋</b><b class='flag-5'>鎖</b>

    互斥自旋區(qū)別 自旋臨界區(qū)可以被中斷嗎?

    互斥自旋區(qū)別 自旋臨界區(qū)可以被中斷嗎?
    的頭像 發(fā)表于 11-22 17:41 ?1049次閱讀

    自旋互斥的使用場景是什么

    自旋互斥是兩種常見的同步機(jī)制,它們在多線程編程中被廣泛使用。在本文中,我們將介紹自旋
    的頭像 發(fā)表于 07-10 10:05 ?1329次閱讀

    互斥自旋的實現(xiàn)原理

    互斥自旋是操作系統(tǒng)中常用的同步機(jī)制,用于控制對共享資源的訪問,以避免多個線程或進(jìn)程同時訪問同一資源,從而引發(fā)數(shù)據(jù)不一致或競爭條件等問題。 互斥
    的頭像 發(fā)表于 07-10 10:07 ?862次閱讀
    主站蜘蛛池模板: 亚洲第一页国产 | 午夜精品久视频在线观看 | 毛片新网址 | 一日本道加勒比高清一二三 | 视频在线观看高清免费大全 | 午夜免费福利在线 | 狠狠色噜噜 | 最新国产精品视频免费看 | 四虎影视地址 | 欧美猛交xxxx免费看 | 狠狠躁夜夜躁人人爽天天3 狠狠躁夜夜躁人人爽天天段 | 天天做天天爰夜夜爽 | 一级毛片免费全部播放完整 | 毛片又大又粗又长又硬 | 特黄大片aaaaa毛片 | 女的扒开尿口让男人桶爽 | 天天拍夜夜添久久精品免费 | 激情视频综合网 | 亚洲美女高清一区二区三区 | 99在线国产| 美女网站在线观看视频18 | 亚洲电影在线看 | 免费人成黄页在线观看日本 | 国产成人91青青草原精品 | 在线天堂中文在线资源网 | 黄网在线观看免费 | 国产综合图区 | 天堂在线视频网站 | 日韩夜夜操 | 在线伊人网 | 国产精品一级香蕉一区 | 国产黄网站 | www深夜视频在线观看高清 | 欧美成年性色mmm | 国产caob | 午夜精品久久久久久影视riav | 午夜999| 综合网伊人 | 激情欧美在线 | 午夜毛片视频 | 国产嫩草影院精品免费网址 |