pthread怎么讀 線程相關(guān)函數(shù)pthread_join究竟是什么意思?
線程相關(guān)函數(shù)pthread_join究竟是什么意思?pthread Join通常由主線程調(diào)用,以等待子線程退出。因?yàn)樗诘却运蛔枞?。通常,主線程將依次連接它創(chuàng)建的所有子線程。pthread
線程相關(guān)函數(shù)pthread_join究竟是什么意思?
pthread Join通常由主線程調(diào)用,以等待子線程退出。因?yàn)樗诘却?,所以它被阻塞了。通常,主線程將依次連接它創(chuàng)建的所有子線程。pthread Exit通常由子線程調(diào)用以結(jié)束當(dāng)前線程。子線程可以通過pthread Exit傳遞返回值來訪問,而主線程通過pthread Join獲取返回值來判斷子線程的退出是否正常。
rtthread缺點(diǎn)是什么?
缺點(diǎn):[1。1000萬的裝機(jī)容量應(yīng)該是最小的內(nèi)核。這部分沒有嚴(yán)重的問題,但是一些接口異常處理是不夠的。
2. 組件的穩(wěn)定性不夠,尤其是pthread的資源恢復(fù)和DFS的非功能接口。如果您想支持POSIX,應(yīng)該仔細(xì)考慮。
3. Ramfs功能不全,不支持目錄。
4. JFFS2和Linux內(nèi)核有很大的區(qū)別。主要原因是提供給上層的封裝接口完全不同,底層的調(diào)用接口也不同。協(xié)議層的結(jié)構(gòu)基本相同。與pthread一樣,封裝層也有一個大問題。
5. C不支持多態(tài)性。有關(guān)詳細(xì)信息,請參閱相應(yīng)的自述文件。
6. 動載性能和功能較弱。
7. 最小的內(nèi)核在異常處理方面也有一些缺點(diǎn)。應(yīng)用程序設(shè)計(jì)中存在一個問題:子線程主動退出并銷毀父任務(wù)中的資源。
問題的原因是空閑線程會回收僵尸線程的資源(主動退出并調(diào)用destroy函數(shù)本身),但del接口的異常處理不足。當(dāng)子線程主動退出時,在執(zhí)行父任務(wù)執(zhí)行del之前先執(zhí)行idle,線程資源在
idle中釋放。當(dāng)父線程在del中時,沒有內(nèi)部判斷,導(dǎo)致內(nèi)存訪問異常和系統(tǒng)崩潰。
8. Minilib不夠支持POSIX。它使用newlib,因?yàn)闆_突太多。它采用裸機(jī)配置,在POSIX接口上也存在一些不足。選擇操作系統(tǒng)版本會與RTT本身的結(jié)構(gòu)產(chǎn)生沖突,因此libc需要進(jìn)行改革。
優(yōu)點(diǎn):
1。生態(tài)很好,有開放的心態(tài),有與Linux接軌的感覺。在開發(fā)過程中,我們需要支持Lua腳本和ini。通過軟件包的實(shí)現(xiàn)非常方便。
2. 最好將通用驅(qū)動程序與組件中驅(qū)動程序的抽象設(shè)備層連接起來,以便于在生態(tài)系統(tǒng)中使用軟件包。例如,marvell-8801開發(fā)包