您好,登錄后才能下訂單哦!
這篇文章主要介紹多線程是什么意思,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
所謂進程(process)就是一塊包含了某些資源的內(nèi)存區(qū)域。操作系統(tǒng)利用進程把它的工作劃分為一些功能單元。進程中所包含的一個或多個執(zhí)行單元稱為線程(thread)。進程還擁有一個私有的虛擬地址空間,該空間僅能被它所包含的線程訪問。
線程只能歸屬于一個進程并且它只能訪問該進程所擁有的資源。當(dāng)操作系統(tǒng)創(chuàng)建一個進程后,該進程會自動申請一個名為主線程或首要線程的線程。
進程并不是真正意義上的同時運行,而是并發(fā)運行。
一個進程至少有一個線程。線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高。另外,進程在執(zhí)行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運行效率。
線程在執(zhí)行過程中與進程的區(qū)別在于每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。
從邏輯角度來看,多線程的意義在于一個應(yīng)用程序中,有多個執(zhí)行部分可以同時執(zhí)行。但操作系統(tǒng)并沒有將多個線程看做多個獨立的應(yīng)用來實現(xiàn)進程的調(diào)度和管理以及資源分配。
多個線程或進程”同時”運行只是感官上的一種表現(xiàn)。事實上進程和線程是并發(fā)運行的,OS的線程調(diào)度機制將時間劃分為很多時間片段(時間片),盡可能均勻分配給正在運行的程序,獲取CPU時間片的線程或進程得以被執(zhí)行,其他則等待。而CPU則在這些進程或線程上來回切換運行。微觀上所有進程和線程是走走停停的,宏觀上都在運行,這種都運行的現(xiàn)象叫并發(fā),但是不是絕對意義上的“同時發(fā)生。
以上是多線程是什么意思的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。