1、線程(英語(yǔ):thread)是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。
2、它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。
3、一條線程指的是進(jìn)程中一個(gè)單一順序的控制流,一個(gè)進(jìn)程中可以并發(fā)多個(gè)線程,每條線程并行執(zhí)行不同的任務(wù)。
(資料圖片)
4、在Unix System V及SunOS中也被稱為輕量進(jìn)程(lightweight processes),但輕量進(jìn)程更多指內(nèi)核線程(kernel thread),而把用戶線程(user thread)稱為線程。
5、一個(gè)進(jìn)程可以有很多線程,每條線程并行執(zhí)行不同的任務(wù)。
6、在多核或多CPU,或支持Hyper-threading的CPU上使用多線程程序設(shè)計(jì)的好處是顯而易見(jiàn),即提高了程序的執(zhí)行吞吐率。
7、在單CPU單核的計(jì)算機(jī)上,使用多線程技術(shù),也可以把進(jìn)程中負(fù)責(zé)I/O處理、人機(jī)交互而常被阻塞的部分與密集計(jì)算的部分分開(kāi)來(lái)執(zhí)行,編寫(xiě)專門(mén)的workhorse線程執(zhí)行密集計(jì)算,從而提高了程序的執(zhí)行效率。
8、擴(kuò)展資料:線程與進(jìn)程的區(qū)別可以歸納為以下4點(diǎn):1)地址空間和其它資源(如打開(kāi)文件):進(jìn)程間相互獨(dú)立,同一進(jìn)程的各線程間共享。
9、某進(jìn)程內(nèi)的線程在其它進(jìn)程不可見(jiàn)。
10、2)通信:進(jìn)程間通信IPC,線程間可以直接讀寫(xiě)進(jìn)程數(shù)據(jù)段(如全局變量)來(lái)進(jìn)行通信——需要進(jìn)程同步和互斥手段的輔助,以保證數(shù)據(jù)的一致性。
11、3)調(diào)度和切換:線程上下文切換比進(jìn)程上下文切換要快得多。
12、4)在多線程O(píng)S中,進(jìn)程不是一個(gè)可執(zhí)行的實(shí)體。
13、參考資料來(lái)源:百度百科-線程。
本文分享完畢,希望對(duì)大家有所幫助。