日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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)不再提示

詳談Linux操作系統(tǒng)的三種狀態(tài)的讀寫(xiě)鎖

如意 ? 來(lái)源:良許Linux ? 作者:良許 ? 2020-09-27 14:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

讀寫(xiě)鎖是另一種實(shí)現(xiàn)線(xiàn)程間同步的方式。與互斥量類(lèi)似,但讀寫(xiě)鎖將操作分為讀、寫(xiě)兩種方式,可以多個(gè)線(xiàn)程同時(shí)占用讀模式的讀寫(xiě)鎖,這樣使得讀寫(xiě)鎖具有更高的并行性。

讀寫(xiě)鎖的特性為:寫(xiě)?yīng)氄?,讀共享;寫(xiě)鎖優(yōu)先級(jí)高。對(duì)于讀寫(xiě)鎖,掌握了這12個(gè)字就足矣了。

Linux環(huán)境下,讀寫(xiě)鎖具有以下三種狀態(tài):

讀模式下加鎖狀態(tài) (讀鎖)

寫(xiě)模式下加鎖狀態(tài) (寫(xiě)鎖)

不加鎖狀態(tài)

雖然讀寫(xiě)鎖有讀鎖、寫(xiě)鎖、不加鎖三種狀態(tài),但其實(shí)它只有一把鎖,而非三把。

前文提到,讀寫(xiě)鎖的特性為:寫(xiě)?yīng)氄?,讀共享;寫(xiě)鎖優(yōu)先級(jí)高。具體來(lái)講:

讀寫(xiě)鎖是“寫(xiě)模式加鎖”時(shí), 解鎖前,所有嘗試對(duì)該鎖進(jìn)行加鎖(不管是讀鎖還是寫(xiě)鎖)的線(xiàn)程都會(huì)被阻塞;--》 寫(xiě)?yīng)氄?/p>

讀寫(xiě)鎖是“讀模式加鎖”時(shí), 如果線(xiàn)程以讀模式對(duì)其加鎖會(huì)成功;如果線(xiàn)程以寫(xiě)模式加鎖會(huì)阻塞。--》 讀共享

讀寫(xiě)鎖是“讀模式加鎖”時(shí), 既有試圖以寫(xiě)模式加鎖的線(xiàn)程,也有試圖以讀模式加鎖的線(xiàn)程。那么讀寫(xiě)鎖會(huì)阻塞隨后的讀模式鎖請(qǐng)求,優(yōu)先滿(mǎn)足寫(xiě)模式鎖。--》 寫(xiě)鎖優(yōu)先級(jí)高

讀寫(xiě)鎖也叫共享-獨(dú)占鎖。當(dāng)讀寫(xiě)鎖以讀模式鎖住時(shí),它是以共享模式鎖住的;當(dāng)它以寫(xiě)模式鎖住時(shí),它是以獨(dú)占模式鎖住的。寫(xiě)?yīng)氄肌⒆x共享。

讀寫(xiě)鎖非常適合于對(duì)數(shù)據(jù)結(jié)構(gòu)讀的次數(shù)遠(yuǎn)大于寫(xiě)的情況。因?yàn)樽x鎖是共享的,這樣可以提高并行性。

主要應(yīng)用函數(shù):

pthread_rwlock_init函數(shù)

pthread_rwlock_destroy函數(shù)

pthread_rwlock_rdlock函數(shù)

pthread_rwlock_wrlock函數(shù)

pthread_rwlock_tryrdlock函數(shù)

pthread_rwlock_trywrlock函數(shù)

pthread_rwlock_unlock函數(shù)

以上7 個(gè)函數(shù)的返回值都是:成功返回0,失敗直接返回錯(cuò)誤號(hào)。

pthread_rwlock_t類(lèi)型:用于定義一個(gè)讀寫(xiě)鎖變量,比如:pthread_rwlock_t rwlock;

##pthread_rwlock_init函數(shù)

函數(shù)原型:

int pthread_rwlock_init(pthread_rwlock_t restrict rwlock, const pthread_rwlockattr_t restrict attr);

函數(shù)作用:初始化一把讀寫(xiě)鎖

參數(shù)說(shuō)明:

rwlock:傳出參數(shù),調(diào)用時(shí)應(yīng)傳&rwlock給該函數(shù);

attr:表示讀寫(xiě)鎖屬性,通常傳NULL,表示使用默認(rèn)屬性;

##pthread_rwlock_destroy函數(shù)

函數(shù)原型:

int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);

函數(shù)作用:銷(xiāo)毀一把讀寫(xiě)鎖

##pthread_rwlock_rdlock函數(shù)

函數(shù)原型:

int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock);

函數(shù)作用:以讀方式請(qǐng)求讀寫(xiě)鎖。(常簡(jiǎn)稱(chēng)為:請(qǐng)求讀鎖)

##pthread_rwlock_wrlock函數(shù)

函數(shù)原型:

int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);

函數(shù)作用:以寫(xiě)方式請(qǐng)求讀寫(xiě)鎖。(常簡(jiǎn)稱(chēng)為:請(qǐng)求寫(xiě)鎖)

##pthread_rwlock_unlock函數(shù)

函數(shù)原型:

int pthread_rwlock_unlock(pthread_rwlock_t *rwlock);

函數(shù)作用:解鎖。

##pthread_rwlock_tryrdlock函數(shù)

函數(shù)原型:

int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock);

函數(shù)作用:非阻塞以讀方式請(qǐng)求讀寫(xiě)鎖(非阻塞請(qǐng)求讀鎖)

##pthread_rwlock_trywrlock函數(shù)

函數(shù)原型:

int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock);

函數(shù)作用:非阻塞以寫(xiě)方式請(qǐng)求讀寫(xiě)鎖(非阻塞請(qǐng)求寫(xiě)鎖)
責(zé)編AJX

聲明:本文內(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)投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11822

    瀏覽量

    219600
  • 線(xiàn)程
    +關(guān)注

    關(guān)注

    0

    文章

    510

    瀏覽量

    20875
  • 操作環(huán)境
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    嵌入式開(kāi)發(fā)中三種操作系統(tǒng)的分析與比較

    三種常用的嵌入式操作系統(tǒng)——Palm OS、Windows CE、Linux;在此基礎(chǔ)上、分析、比較這三種嵌入式操作系統(tǒng),給出它們之間的異同
    發(fā)表于 03-11 10:03

    嵌入式開(kāi)發(fā)中三種操作系統(tǒng)的分析與比較

    三種常用的嵌入式操作系統(tǒng)——Palm OS、Windows CE、Linux;在此基礎(chǔ)上、分析、比較這三種嵌入式操作系統(tǒng),給出它們之間的異同
    發(fā)表于 10-15 14:42

    嵌入式開(kāi)發(fā)中三種操作系統(tǒng)的分析與比較

    三種常用的嵌入式操作系統(tǒng)——Palm OS、Windows CE、Linux;在此基礎(chǔ)上、分析、比較這三種嵌入式操作系統(tǒng),給出它們之間的異同
    發(fā)表于 10-16 09:45

    嵌入式開(kāi)發(fā)中三種操作系統(tǒng)的分析與比較

    三種常用的嵌入式操作系統(tǒng)——Palm OS、Windows CE、Linux;在此基礎(chǔ)上、分析、比較這三種嵌入式操作系統(tǒng),給出它們之間的異同
    發(fā)表于 10-18 10:01

    嵌入式開(kāi)發(fā)中三種操作系統(tǒng)的分析與比較

    三種常用的嵌入式操作系統(tǒng)——Palm OS、Windows CE、Linux;在此基礎(chǔ)上、分析、比較這三種嵌入式操作系統(tǒng),給出它們之間的異同
    發(fā)表于 10-26 09:35

    嵌入式開(kāi)發(fā)中三種操作系統(tǒng)的分析與比較

    三種常用的嵌入式操作系統(tǒng)——Palm OS、Windows CE、Linux;在此基礎(chǔ)上、分析、比較這三種嵌入式操作系統(tǒng),給出它們之間的異同
    發(fā)表于 06-23 11:01

    嵌入式開(kāi)發(fā)中三種操作系統(tǒng)對(duì)比分析哪個(gè)好

    三種常用的嵌入式操作系統(tǒng)——Palm OS、Windows CE、Linux;在此基礎(chǔ)上、分析、比較這三種嵌入式操作系統(tǒng),給出它們之間的異同
    發(fā)表于 12-20 06:24

    三種常用的嵌入式操作系統(tǒng)是什么

    三種常用的嵌入式操作系統(tǒng)——Palm OS、Windows CE、Linux;在此基礎(chǔ)上、分析、比較這三種嵌入式操作系統(tǒng),給出它們之間的異同
    發(fā)表于 12-22 07:36

    Linux操作系統(tǒng)

    linux的教學(xué)內(nèi)容1 、Linux概述 2 、Linux操作系統(tǒng)安裝3、 Linux的內(nèi)核 4 、Li
    發(fā)表于 04-10 16:54 ?0次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統(tǒng)</b>

    Linux操作系統(tǒng)原理及應(yīng)用

    Linux操作系統(tǒng)原理及應(yīng)用 1.1  操作系統(tǒng)的地位 1.2  操作系統(tǒng)的功能 1.3  操作系統(tǒng)的發(fā)
    發(fā)表于 04-28 14:53 ?0次下載

    三種嵌入式操作系統(tǒng)的分析與比較

    介紹三種常用的嵌入式操作系統(tǒng)—— Palm OS、Windows CE、Linux; 在此基礎(chǔ)上, 分析、比較這三種嵌入式操作系統(tǒng), 給出它
    發(fā)表于 05-15 13:54 ?8次下載

    三種通用嵌入式操作系統(tǒng)的分析與比較

    本文介紹了三種通用的嵌入式操作系統(tǒng)VxWorks、Windows CE、Linux 以及它們的各自的特點(diǎn),并通過(guò)比較他們的優(yōu)缺點(diǎn)分析他們各自適應(yīng)的領(lǐng)域。
    發(fā)表于 09-15 16:49 ?21次下載

    什么是Linux操作系統(tǒng)

    什么是Linux操作系統(tǒng)  簡(jiǎn)單地說(shuō),Linux是一套
    發(fā)表于 12-26 12:04 ?1607次閱讀

    Linux操作系統(tǒng)與Windows操作系統(tǒng)的五大區(qū)別

    Linux操作系統(tǒng)和Windows操作系統(tǒng)身為操作系統(tǒng)巨頭里面的兩大巨頭,他們有什么區(qū)別呢?首先,先要聲明一點(diǎn),所有以
    發(fā)表于 07-10 16:28 ?8626次閱讀

    Linux操作系統(tǒng)修改內(nèi)核參數(shù)的三種方法詳細(xì)說(shuō)明

    linux內(nèi)核的參數(shù)設(shè)置怎么弄呢,Linux 操作系統(tǒng)修改內(nèi)核參數(shù)有以下三種方式:
    發(fā)表于 10-06 18:03 ?1.2w次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系統(tǒng)</b>修改內(nèi)核參數(shù)的<b class='flag-5'>三種</b>方法詳細(xì)說(shuō)明
    株洲县| 无极县| 乐昌市| 安吉县| 集安市| 江源县| 乌拉特前旗| 安顺市| 东丰县| 同德县| 沙坪坝区| 雷山县| 安阳市| 西平县| 凤翔县| 元江| 巴马| 邢台县| 龙山县| 斗六市| 凌云县| 富锦市| 颍上县| 乾安县| 广汉市| 高淳县| 深泽县| 嵊州市| 平度市| 许昌县| 余庆县| 友谊县| 蓝山县| 景洪市| 蒙阴县| 曲水县| 丹棱县| 自治县| 甘谷县| 柯坪县| 新安县|