十六線程間同步技術(shù)與應(yīng)用_第1頁
十六線程間同步技術(shù)與應(yīng)用_第2頁
十六線程間同步技術(shù)與應(yīng)用_第3頁
十六線程間同步技術(shù)與應(yīng)用_第4頁
十六線程間同步技術(shù)與應(yīng)用_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1

2

3線程間同步技術(shù)與應(yīng)用匯報(bào)人XXX時(shí)間20XX.X202XCatalogue目錄1.多線程同步概述PartOne信號(hào)量PartTwo2.互斥量PartThree事件集PartFour3.4.總結(jié)PartFive課后作業(yè)PartSix5.6.

1

2

202X3多線程同步概述Part01線程同步是指多個(gè)線程通過特定機(jī)制控制執(zhí)行順序,確保對(duì)共享資源的訪問互斥性。如多個(gè)線程訪問共享內(nèi)存時(shí),需按順序操作,防止數(shù)據(jù)錯(cuò)亂。例如,在多線程系統(tǒng)中,一個(gè)線程負(fù)責(zé)采集數(shù)據(jù)寫入共享內(nèi)存,另一個(gè)線程負(fù)責(zé)讀取數(shù)據(jù)進(jìn)行處理,若不進(jìn)行同步,讀取線程可能讀到未寫完的數(shù)據(jù),導(dǎo)致錯(cuò)誤結(jié)果。線程同步的定義線程互斥是線程同步的一種特殊形式,用于保證同一時(shí)刻只有一個(gè)線程訪問臨界區(qū)資源?;コ馐峭降幕A(chǔ),同步是互斥的擴(kuò)展。比如在銀行取款系統(tǒng)中,多個(gè)窗口(線程)操作同一個(gè)賬戶(臨界區(qū)資源)時(shí),必須互斥訪問賬戶余額,以保證數(shù)據(jù)一致性;而同步則可以控制窗口服務(wù)的順序,提高系統(tǒng)效率。同步與互斥的關(guān)系臨界區(qū)是指多個(gè)線程操作的同一塊代碼區(qū)域,這塊代碼涉及對(duì)共享資源的訪問。在臨界區(qū)內(nèi),線程的操作必須是互斥的。以交通路口為例,多個(gè)方向的車輛(線程)都要經(jīng)過路口(臨界區(qū)),若沒有交通信號(hào)燈(同步機(jī)制)控制,車輛會(huì)相互碰撞,造成交通混亂。臨界區(qū)的概念線程同步的概念與重要性03.01.02.數(shù)據(jù)一致性問題當(dāng)多個(gè)線程同時(shí)訪問和修改共享數(shù)據(jù)時(shí),若沒有同步機(jī)制,會(huì)導(dǎo)致數(shù)據(jù)不一致。例如,一個(gè)線程正在寫入數(shù)據(jù),另一個(gè)線程同時(shí)讀取,讀取到的數(shù)據(jù)可能是錯(cuò)誤的。在文件系統(tǒng)中,多個(gè)進(jìn)程同時(shí)對(duì)一個(gè)文件進(jìn)行讀寫操作,若不進(jìn)行同步,文件內(nèi)容可能會(huì)出現(xiàn)亂碼或丟失數(shù)據(jù)。競(jìng)態(tài)條件競(jìng)態(tài)條件是指多個(gè)線程的執(zhí)行順序?qū)Τ绦蚪Y(jié)果產(chǎn)生影響的情況。當(dāng)線程間存在依賴關(guān)系時(shí),若執(zhí)行順序被打亂,可能導(dǎo)致程序出現(xiàn)錯(cuò)誤。例如,在一個(gè)計(jì)數(shù)器程序中,多個(gè)線程同時(shí)對(duì)計(jì)數(shù)器進(jìn)行加1操作,若沒有同步機(jī)制,線程的執(zhí)行順序不同,最終的計(jì)數(shù)值可能會(huì)小于實(shí)際線程數(shù)。死鎖與饑餓死鎖是指兩個(gè)或多個(gè)線程因相互等待對(duì)方持有的資源而無法繼續(xù)執(zhí)行的現(xiàn)象。饑餓是指一個(gè)線程因長(zhǎng)時(shí)間無法獲得資源而無法執(zhí)行。例如,線程A持有資源X并請(qǐng)求資源Y,線程B持有資源Y并請(qǐng)求資源X,此時(shí)兩個(gè)線程都會(huì)陷入死鎖狀態(tài);而一個(gè)低優(yōu)先級(jí)的線程可能因高優(yōu)先級(jí)線程頻繁占用資源而長(zhǎng)時(shí)間無法執(zhí)行,導(dǎo)致饑餓。線程同步的常見問題

1

2

202X3信號(hào)量Part02信號(hào)量是一種輕量級(jí)的內(nèi)核對(duì)象,用于解決線程間同步問題。它通過一個(gè)非負(fù)整數(shù)值和一個(gè)線程等待隊(duì)列來控制線程對(duì)共享資源的訪問。例如,停車場(chǎng)的管理員手中的空車位數(shù)可以看作信號(hào)量的值,車輛(線程)通過獲取管理員的允許(信號(hào)量)進(jìn)入停車場(chǎng)(訪問共享資源)。信號(hào)量的定義在RT-Thread中,信號(hào)量通過rt_sem_create函數(shù)創(chuàng)建,需要指定信號(hào)量名稱、初始值和標(biāo)志。信號(hào)量初始值表示初始可用資源的數(shù)量,標(biāo)志用于設(shè)置線程等待隊(duì)列的調(diào)度方式。例如,rt_sem_create("sem",1,RT_IPC_FLAG_FIFO)創(chuàng)建一個(gè)名為"sem"的信號(hào)量,初始值為1,采用先進(jìn)先出的調(diào)度方式。信號(hào)量的創(chuàng)建與初始化信號(hào)量的值表示可用資源的數(shù)量,當(dāng)線程獲取信號(hào)量時(shí),信號(hào)量值減1;當(dāng)線程釋放信號(hào)量時(shí),信號(hào)量值加1。若信號(hào)量值為0,線程將被掛起等待。例如,在一個(gè)生產(chǎn)者-消費(fèi)者模型中,生產(chǎn)者線程生產(chǎn)產(chǎn)品后釋放信號(hào)量,消費(fèi)者線程獲取信號(hào)量后消費(fèi)產(chǎn)品,通過信號(hào)量控制生產(chǎn)者和消費(fèi)者的同步。信號(hào)量的工作原理信號(hào)量的概念與工作機(jī)制獲取信號(hào)量使用rt_sem_take函數(shù),線程通過該函數(shù)嘗試獲取信號(hào)量。若信號(hào)量值大于0,線程獲取信號(hào)量成功,信號(hào)量值減1;若信號(hào)量值為0,線程將根據(jù)等待時(shí)間參數(shù)掛起等待。例如,rt_sem_take(sem,RT_WAITING_FOREVER)表示線程永久等待信號(hào)量,直到獲取成功。獲取信號(hào)量釋放信號(hào)量使用rt_sem_release函數(shù),線程通過該函數(shù)釋放信號(hào)量,信號(hào)量值加1。若等待隊(duì)列中有線程等待該信號(hào)量,將喚醒等待隊(duì)列中的第一個(gè)線程。例如,rt_sem_release(sem)釋放信號(hào)量,喚醒等待該信號(hào)量的線程。釋放信號(hào)量刪除信號(hào)量使用rt_sem_delete函數(shù),該函數(shù)將刪除信號(hào)量并釋放其占用的資源。若信號(hào)量上有線程等待,將喚醒等待線程并返回錯(cuò)誤。例如,rt_sem_delete(sem)刪除信號(hào)量,釋放資源。信號(hào)量的刪除與脫離信號(hào)量的操作函數(shù)任務(wù)描述基于龍芯1B開發(fā)板和RT-Thread實(shí)時(shí)操作系統(tǒng),創(chuàng)建兩個(gè)線程,一個(gè)線程獲取信號(hào)量后切換LCD屏背景色,另一個(gè)線程獲取信號(hào)量后顯示LED流水燈5遍。兩個(gè)線程獨(dú)立運(yùn)行,獲取信號(hào)量的線程一直等待信號(hào)量,等待時(shí)間為永久等待。任務(wù)分析本任務(wù)的核心是通過信號(hào)量實(shí)現(xiàn)兩個(gè)線程的同步。線程1負(fù)責(zé)切換LCD屏背景色,線程2負(fù)責(zé)顯示LED流水燈。兩個(gè)線程通過信號(hào)量進(jìn)行協(xié)調(diào),確保一個(gè)線程完成任務(wù)后釋放信號(hào)量,另一個(gè)線程獲取信號(hào)量后繼續(xù)執(zhí)行。信號(hào)量的初始值設(shè)置為1,表示初始時(shí)有一個(gè)可用的信號(hào)量。線程1和線程2通過rt_sem_take函數(shù)獲取信號(hào)量,通過rt_sem_release函數(shù)釋放信號(hào)量。任務(wù)實(shí)施新建項(xiàng)目:依次點(diǎn)擊“文件”→“新建”→“新建項(xiàng)目向?qū)А保鶕?jù)項(xiàng)目向?qū)瓿尚陆?xiàng)目。配置宏定義:在bsp.h文件中打開BSP_USE_I2CO、BSP_USE_FB、GT1151_DRV等宏定義。定義信號(hào)量和線程控制塊:在main.c文件中定義信號(hào)量控制塊和兩個(gè)線程控制塊。線程1負(fù)責(zé)切換LCD屏背景色,線程2負(fù)責(zé)顯示LED流水燈。編寫線程函數(shù):線程1通過rt_device_control函數(shù)切換LCD屏背景色,線程2通過waterfallLight函數(shù)顯示LED流水燈。兩個(gè)線程在執(zhí)行任務(wù)前后通過rt_sem_take和rt_sem_release函數(shù)獲取和釋放信號(hào)量。創(chuàng)建信號(hào)量和線程:在main函數(shù)中創(chuàng)建信號(hào)量和兩個(gè)線程,并啟動(dòng)線程。編譯與調(diào)試:點(diǎn)擊編譯,編譯無誤后點(diǎn)擊運(yùn)行,將程序加載到內(nèi)存中。測(cè)試程序,觀察LCD屏背景色切換和LED流水燈顯示是否正常。任務(wù)拓展增加線程優(yōu)先級(jí)控制:為線程設(shè)置不同的優(yōu)先級(jí),觀察高優(yōu)先級(jí)線程是否能更快地獲取信號(hào)量。增加信號(hào)量數(shù)量:將信號(hào)量的初始值設(shè)置為多個(gè),觀察多個(gè)線程同時(shí)獲取信號(hào)量的情況。結(jié)合其他同步機(jī)制:結(jié)合互斥量或事件集,實(shí)現(xiàn)更復(fù)雜的同步控制。01020304任務(wù)16:信號(hào)量應(yīng)用

1

2

202X3互斥量Part03互斥量是一種特殊的二值信號(hào)量,用于實(shí)現(xiàn)對(duì)臨界資源的獨(dú)占式訪問?;コ饬恐挥袃煞N狀態(tài):鎖定(LOCKED)和解鎖(UNLOCKED)。例如,一個(gè)文件被一個(gè)線程打開并鎖定,其他線程無法同時(shí)打開該文件,直到第一個(gè)線程釋放互斥量?;コ饬康亩x互斥量的初始狀態(tài)為解鎖狀態(tài),當(dāng)一個(gè)線程獲取互斥量后,互斥量變?yōu)殒i定狀態(tài),其他線程將被掛起等待。只有持有互斥量的線程可以釋放它。例如,在一個(gè)數(shù)據(jù)庫系統(tǒng)中,多個(gè)線程需要訪問同一個(gè)表,通過互斥量確保同一時(shí)刻只有一個(gè)線程可以操作該表,防止數(shù)據(jù)沖突?;コ饬康墓ぷ髟碓赗T-Thread中,互斥量通過rt_mutex_create函數(shù)創(chuàng)建,需要指定互斥量名稱和標(biāo)志。標(biāo)志用于設(shè)置線程等待隊(duì)列的調(diào)度方式。例如,rt_mutex_create("mutex",RT_IPC_FLAG_FIFO)創(chuàng)建一個(gè)名為"mutex"的互斥量,采用先進(jìn)先出的調(diào)度方式。互斥量的創(chuàng)建與初始化互斥量的概念與工作機(jī)制獲取互斥量使用rt_mutex_take函數(shù),線程通過該函數(shù)嘗試獲取互斥量。若互斥量未被鎖定,線程獲取互斥量成功,互斥量變?yōu)殒i定狀態(tài);若互斥量已被鎖定,線程將根據(jù)等待時(shí)間參數(shù)掛起等待。例如,rt_mutex_take(mutex,RT_WAITING_FOREVER)表示線程永久等待互斥量,直到獲取成功。獲取互斥量互斥量的刪除與脫離刪除互斥量使用rt_mutex_delete函數(shù),該函數(shù)將刪除互斥量并釋放其占用的資源。若互斥量上有線程等待,將喚醒等待線程并返回錯(cuò)誤。例如,rt_mutex_delete(mutex)刪除互斥量,釋放資源。釋放互斥量釋放互斥量使用rt_mutex_release函數(shù),線程通過該函數(shù)釋放互斥量,互斥量變?yōu)榻怄i狀態(tài)。若等待隊(duì)列中有線程等待該互斥量,將喚醒等待隊(duì)列中的第一個(gè)線程。例如,rt_mutex_release(mutex)釋放互斥量,喚醒等待該互斥量的線程?;コ饬康牟僮骱瘮?shù)任務(wù)描述基于龍芯1B開發(fā)板和RT-Thread實(shí)時(shí)操作系統(tǒng),創(chuàng)建兩個(gè)線程,兩個(gè)線程都往SPI

Flash中相同起始地址寫入不同的內(nèi)容,再讀取出來。使用互斥量保證正在讀取的線程不被打斷。任務(wù)實(shí)施新建項(xiàng)目:依次點(diǎn)擊“文件”→“新建”→“新建項(xiàng)目向?qū)А保鶕?jù)項(xiàng)目向?qū)瓿尚陆?xiàng)目。配置宏定義:在bsp.h文件中打開BSP_USE_SPI、W25X40_DRV等宏定義。定義互斥量和線程控制塊:在main.c文件中定義互斥量和兩個(gè)線程控制塊。線程1和線程2分別往SPIFlash中寫入不同的內(nèi)容,再讀取出來。編寫線程函數(shù):線程1和線程2在寫入和讀取數(shù)據(jù)前后通過rt_mutex_take和rt_mutex_release函數(shù)獲取和釋放互斥量,確保數(shù)據(jù)操作的互斥性。創(chuàng)建互斥量和線程:在main函數(shù)中創(chuàng)建互斥量和兩個(gè)線程,并啟動(dòng)線程。編譯與調(diào)試:點(diǎn)擊編譯,編譯無誤后點(diǎn)擊運(yùn)行,將程序加載到內(nèi)存中。測(cè)試程序,觀察SPIFlash中的數(shù)據(jù)是否正確寫入和讀取。任務(wù)分析本任務(wù)的核心是通過互斥量保護(hù)共享資源SPI

Flash,防止多個(gè)線程同時(shí)寫入或讀取數(shù)據(jù)導(dǎo)致數(shù)據(jù)錯(cuò)亂?;コ饬看_保同一時(shí)刻只有一個(gè)線程可以訪問SPIFlash?;コ饬康某跏紶顟B(tài)為解鎖狀態(tài),線程通過rt_mutex_take函數(shù)獲取互斥量,通過rt_mutex_release函數(shù)釋放互斥量。任務(wù)拓展增加線程數(shù)量:增加更多線程同時(shí)訪問SPI

Flash,觀察互斥量的保護(hù)效果。結(jié)合信號(hào)量:結(jié)合信號(hào)量實(shí)現(xiàn)線程間的同步控制,例如控制線程的執(zhí)行順序。優(yōu)化性能:通過減少互斥量的持有時(shí)間,提高系統(tǒng)的并發(fā)性能。任務(wù)17:互斥量應(yīng)用

1

2

202X3事件集Part040103事件集的定義事件集是一種用于線程間同步的機(jī)制,可以實(shí)現(xiàn)一對(duì)多、多對(duì)多的同步。事件集通過一個(gè)32位無符號(hào)整型變量表示多個(gè)事件,每一位代表一個(gè)事件。例如,一個(gè)線程可以等待多個(gè)事件中的任意一個(gè)發(fā)生,也可以等待多個(gè)事件都發(fā)生后才繼續(xù)執(zhí)行。事件集的工作原理事件集支持“邏輯與”和“邏輯或”兩種同步方式。線程可以通過“邏輯與”方式等待多個(gè)事件都發(fā)生,也可以通過“邏輯或”方式等待任意一個(gè)事件發(fā)生。例如,在一個(gè)多媒體播放系統(tǒng)中,一個(gè)線程可以等待音頻數(shù)據(jù)和視頻數(shù)據(jù)都準(zhǔn)備好后才開始播放,也可以等待音頻數(shù)據(jù)或視頻數(shù)據(jù)中的任意一個(gè)準(zhǔn)備好后就開始處理。事件集的創(chuàng)建與初始化在RT-Thread中,事件集通過rt_event_create函數(shù)創(chuàng)建,需要指定事件集名稱和標(biāo)志。標(biāo)志用于設(shè)置線程等待隊(duì)列的調(diào)度方式。例如,rt_event_create("event",RT_IPC_FLAG_FIFO)創(chuàng)建一個(gè)名為"event"的事件集,采用先進(jìn)先出的調(diào)度方式。事件集的概念與工作機(jī)制0201發(fā)送事件使用rt_event_send函數(shù),線程通過該函數(shù)向事件集發(fā)送一個(gè)或多個(gè)事件。事件集的相應(yīng)位將被設(shè)置為1。例如,rt_event_send(event,EVENT_FLAG1|EVENT_FLAG2)向事件集發(fā)送事件1和事件2。發(fā)送事件02接收事件使用rt_event_recv函數(shù),線程通過該函數(shù)從事件集中接收感興趣的事件。線程可以根據(jù)“邏輯與”或“邏輯或”方式選擇接收事件的方式。例如,rt_event_recv(event,EVENT_FLAG1|EVENT_FLAG2,RT_EVENT_FLAG_AND,RT_WAITING_FOREVER,&recved)表示線程等待事件1和事件2都發(fā)生后才繼續(xù)執(zhí)行。接收事件03刪除事件集使用rt_event_delete函數(shù),該函數(shù)將刪除事件集并釋放其占用的資源。若事件集上有線程等待,將喚醒等待線程并返回錯(cuò)誤。例如,rt_event_delete(event)刪除事件集,釋放資源。事件集的刪除與脫離事件集的操作函數(shù)基于龍芯1B開發(fā)板和RT-Thread實(shí)時(shí)操作系統(tǒng),創(chuàng)建一個(gè)事件集和三個(gè)線程。兩個(gè)線程等待自己關(guān)心的事件發(fā)生,一個(gè)線程發(fā)送事件。RTC線程將RTC初始時(shí)間設(shè)置為2022年2月27日9:59:00,當(dāng)秒鐘大于5秒且小于10秒時(shí),發(fā)送事件1;按下KEY_UP鍵后,發(fā)送事件2,蜂鳴器響起,LCD顯示一張圖片;按下KEY_2鍵時(shí),發(fā)送事件1,蜂鳴器關(guān)閉,LCD清屏。任務(wù)描述新建項(xiàng)目:依次點(diǎn)擊“文件”→“新建”→“新建項(xiàng)目向?qū)А保鶕?jù)項(xiàng)目向?qū)瓿尚陆?xiàng)目。配置宏定義:在bsp.h文件中打開BSP_USE_I2CO、BSP_USE_FB、GT1151_DRV、PCA9557_DRV等宏定義。定義事件集和線程控制塊:在main.c文件中定義事件集和三個(gè)線程控制塊。線程1和線程2分別等待不同的事件,線程3負(fù)責(zé)發(fā)送事件。編寫線程函數(shù):線程1和線程2通過rt_event_recv函數(shù)等待事件的發(fā)生,并根據(jù)接收到的事件執(zhí)行相應(yīng)的操作,如蜂鳴器控制和LCD顯示;線程3通過rt_event_send函數(shù)發(fā)送事件。創(chuàng)建事件集和線程:在main函數(shù)中創(chuàng)建事件集和三個(gè)線程,并啟動(dòng)線程。編譯與調(diào)試:點(diǎn)擊編譯,編譯無誤后點(diǎn)擊運(yùn)行,將程序加載到內(nèi)存中。測(cè)試程序,觀察蜂鳴器和LCD的顯示是否符合預(yù)期。任務(wù)實(shí)施本任務(wù)的核心是通過事件集實(shí)現(xiàn)多個(gè)線程的同步控制。事件集允許一個(gè)線程發(fā)送事件,多個(gè)線程根據(jù)事件的發(fā)生進(jìn)行相應(yīng)的操作。事件集的“邏輯與”和“邏輯或”方式可以靈活控制線程的等待條件,例如,一個(gè)線程可以等待多個(gè)事件都發(fā)生后才繼續(xù)執(zhí)行,另一個(gè)線程可以等待任意一個(gè)事件發(fā)生后就繼續(xù)執(zhí)行。任務(wù)分析增加更多事件:定義更多事件,實(shí)現(xiàn)更復(fù)雜的線程同步控制。結(jié)合信號(hào)量和互斥量:結(jié)合信號(hào)量和互斥量,實(shí)現(xiàn)線程間的同步和互斥控制。優(yōu)化事件處理邏輯:通過優(yōu)化事件處理邏輯,減少線程的等待時(shí)間,提高系統(tǒng)響應(yīng)速度。任務(wù)拓展任務(wù)18:事件集應(yīng)用

1

2

202X3總結(jié)Part0501本模塊了解了線程間同步是多線程系統(tǒng)中的重要機(jī)制,通過信號(hào)量、互斥量和事件集等同步機(jī)制,可以有效解決線程間的同步問題,確保程序的正確性和穩(wěn)定性。信號(hào)量適用于控制線程對(duì)共享資源的訪問,互斥量用于保護(hù)臨界資源,事件集則可以實(shí)現(xiàn)復(fù)雜的線程同步控制。在實(shí)際應(yīng)用中,可以根據(jù)具體需求選擇合適的同步機(jī)制,或結(jié)合多種同步機(jī)制實(shí)現(xiàn)更高效的線程協(xié)調(diào)。02在實(shí)踐項(xiàng)目中,通過模擬實(shí)際場(chǎng)景,如智能教室節(jié)能系統(tǒng)、智能交通信號(hào)燈模擬系統(tǒng)等,培養(yǎng)學(xué)生的節(jié)能意識(shí)、環(huán)保責(zé)任感和遵守規(guī)則的意識(shí)。讓學(xué)生在技術(shù)學(xué)習(xí)過程中,樹立正確的價(jià)值觀和社會(huì)責(zé)任感,增強(qiáng)學(xué)生的民族自豪感和使命感,鼓勵(lì)學(xué)生為國產(chǎn)技術(shù)發(fā)展貢獻(xiàn)力量。03以多個(gè)具體任務(wù)為導(dǎo)向,如信號(hào)量應(yīng)用、互斥量應(yīng)用和事件集應(yīng)用,讓學(xué)生在實(shí)際操作中掌握多線程同步編程。從新建項(xiàng)目、配置開發(fā)環(huán)境到編寫代碼、調(diào)試程序,學(xué)生在實(shí)踐中提升解決問題的能力,積累項(xiàng)目經(jīng)驗(yàn)。通過這些項(xiàng)目,學(xué)生能夠更好地將理論知識(shí)與實(shí)際應(yīng)用相結(jié)合,為今后從事相關(guān)領(lǐng)域工作打下堅(jiān)實(shí)基礎(chǔ)。

1

2

202X3課后作業(yè)Part06`課后習(xí)題一.選擇題1.在多線程實(shí)時(shí)系統(tǒng)中,線程同步的主要目的是()A.提高線程的執(zhí)行速度B.確保線程按預(yù)定順序執(zhí)行,防止數(shù)據(jù)錯(cuò)亂C.減少線程的資源占用D.增加線程的數(shù)量答案:B2.信號(hào)量的值表示()A.線程的數(shù)量B.可用資源的數(shù)量C.線程的優(yōu)先級(jí)D.線程的執(zhí)行時(shí)間答案:B3.互斥量與信號(hào)量的主要區(qū)別在于()A.互斥量只能由持有它的線程釋放,信號(hào)量可以由任意線程釋放B.互斥量可以用于多個(gè)線程,信號(hào)量只能用于兩個(gè)線程C.互斥量的值只能是0或1,信號(hào)量的值可以是任意整數(shù)D.互斥量用于線程同步,信號(hào)量用于線程互斥答案:A4.事件集的特點(diǎn)是()A.只能實(shí)現(xiàn)一對(duì)一的同步B.只能實(shí)現(xiàn)一對(duì)多的同步C.可以實(shí)現(xiàn)一對(duì)多、多對(duì)多的同步D.只能實(shí)現(xiàn)多對(duì)一的同步答案:C5.在RT-Thread中,創(chuàng)建信號(hào)量使用的函數(shù)是()A.rt_sem_createB.rt_mutex_createC.rt_event_createD.r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論