进程和线程的一些见解
生活随笔
收集整理的這篇文章主要介紹了
进程和线程的一些见解
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1 主進程,父進程和子進程之間的關系父子進程之間的定義:當一個進程創(chuàng)建一個或多個子進程時,那么這個進程可以稱之這些進程的父進程, 他們之間是父子關系,也可以說是繼承關系,子進程會繼承父進程的屬性。進程是一個資源單位,在進程創(chuàng)建的過程,系統(tǒng)會自動為其開辟一塊獨立的內(nèi)存空間。因此,在子進程的創(chuàng)建的過程中,系統(tǒng)會自動為其開辟一塊獨立的內(nèi)存空間 ,并且會將父進程的代碼拷貝到這個內(nèi)存空間中。一般來說,主進程默認是最初始的父進程。所以在Python中創(chuàng)建子進程的過程中為了避免無限遞歸主進程的問題,必須將創(chuàng)建子進程的代碼放在if name == ‘__main__’下面
2 主線程,父線程和子線程之間的關系父線程和子線程之間的關系類似與主進程和子進程之間的關系,但是在線程的創(chuàng)建過程中并不需要開辟內(nèi)存空間嗎,而且線程與線程之間是沒有主次之分的,他們共享同一塊內(nèi)存資源。每一個進程都自帶一個線程,這個線程稱之為主線程。一般來說,主線程不會是父線程,他與子線程是同等地位的,這一點與進程有很大的不同。主線程創(chuàng)建的子線程只會去執(zhí)行主線程交給他的任務,不會去執(zhí)行子線程的創(chuàng)建任務,所以在線程的創(chuàng)建的過程不需要加if判斷。注意:如果子線程執(zhí)行的是函數(shù)任務,函數(shù)的加載并不會在子線程中創(chuàng)建,他只是去執(zhí)行這個函數(shù)體代碼,而不會去執(zhí)行創(chuàng)建過程,創(chuàng)建過程在主線程中完成。 線程和進程的一些見解
?
轉(zhuǎn)載于:https://www.cnblogs.com/cmd61/p/11342555.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的进程和线程的一些见解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全额扣除和平均扣除是什么意思
- 下一篇: Shell入门01