軟考之進程,線程,管程比較
來源:程序員人生 發布時間:2014-11-26 08:12:23 閱讀次數:3859次
在操作系統中,遇到了3兄弟,看起來好像,暈了好長時間,在今天把他大概能弄明白了,故此把這篇文章獻給還在迷茫在他們3兄弟之間的你們!由于他們都有1個程字,所以我們在學習的在剛剛學習的時候難免會把他們弄混,由于應用本來對操作系統不能理解很透徹的我們來解釋這3個兄弟確切難了點,所以我們就用之前的知識來舉例說明。
概念比較
進程:是操作系統結構的基礎,是1次程序的履行,是1個程序及其數據在處理機上順序履行時所產生的活動。
線程:把進程程作為分配資源的,而把線程作為獨立運行和獨立調度的基本單位。線程可以創建和撤銷線程,從而實現程序的并發履行。1般,線程具有就緒、阻塞和運行3種基本狀態。
管程:管程定義了1個數據結構和能為并發進程所履行的1組操作,這組操作能同步進程和改變管程中的數據。
形象比較
進程和線程
大家都上過體育課,如果1個體育課就算是1個學校這個大系統的進程的畫,那末線程就是體育課中的各個活動,有的人玩足球,有的人玩籃球,但是不論籃球課,還是體育課,他們都是體育課的1部份,他們也就是線程,是線程的組成部份。
1、這些線程(各種活動)同享者這個進程的資源(操場),而且線程(活動)必須依賴于進程,離開以后就沒有存在的意義了(由于逃課是不對的)。
2、這些線程可以同步履行,1個進程(體育課),線程(體育活動)可以在1節課上,固然也能夠你先上籃球課,我后玩足球,他們并沒有具體的時間性限制。
3、他們依托代碼來控制邏輯順序,不能中途插入1個線程(活動),而是靠代碼邏輯(學校的上下課鈴聲或老師)來控制的,1旦代碼出現有誤(學校設施有誤),那末這個線程勢必墮入1片混亂。
4、對體育課這個進程,線程(體育活動)是未知的,只有在學校在開學的時候分配好的時候才能肯定誰先進行甚么課程。
管程
管程定義了1個數據結構和能為并發進程所履行的1組操作,這組操作能同步進程和改變管程中的數據管程定義了1個數據結構和能為并發進程所履行的1組操作,這組操作能同步進程和改變管程中的數據
而管程就像是我們上體育課的器材保管室,如果那個進程需要訪問資源(體育器材),都需要先通過管程(器材室)來索要資源(體育器材),畢竟東西是有限的,需要公道分配,根據情況的不同來進行分配。

小結
這知識我對這3個的理解,線程<進程,或線程包括于進程,而管程又控制了進程的之心順序,誰有資源誰就可以運行,而線程則是讓我們的進程履行的更有效力,我們總不能讓1個學校的學生1起在操場各玩各的,這個貌似太亂了。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈