摘要:上一篇文章進(jìn)程專題完結(jié)篇多進(jìn)程處理的一般建議下一篇文章線程專題多線程使用的必要性進(jìn)程線程進(jìn)程能夠完成多任務(wù),比如在一個(gè)電腦上可以運(yùn)行多個(gè)軟件。由于占用資源少,也使得多線程程序并發(fā)比較高。
上一篇文章:Python進(jìn)程專題完結(jié)篇:多進(jìn)程處理的一般建議進(jìn)程VS線程
下一篇文章:Python線程專題1:多線程使用的必要性
進(jìn)程:能夠完成多任務(wù),比如在一個(gè)電腦上可以運(yùn)行多個(gè)軟件。線程:也能夠完成多任務(wù),但一般是在同一個(gè)程序內(nèi)完成多任務(wù),例如qq打開多個(gè)頁面。
對吧方向 | 進(jìn)程 | 線程 |
---|---|---|
是否可以完成多任務(wù) | 可以,比如一個(gè)電腦上運(yùn)行多個(gè)相同軟件 | 可以,比如在一個(gè)軟件內(nèi)打開多個(gè)頁面 |
定義 | 系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。 | 是進(jìn)程的一個(gè)實(shí)體,是CPU調(diào)度和分派的基本單位,它是比進(jìn)程更小的可以獨(dú)立運(yùn)行的基本單位。除了一些運(yùn)行比不可少的資源外(如程序計(jì)數(shù)器、一組寄存器和棧),線程基本不用有其它系統(tǒng)資源,它只和同進(jìn)程的其它線程共享進(jìn)程的公共資源。由于占用資源少,也使得多線程程序并發(fā)比較高。 |
最值 | 一個(gè)程序至少有一個(gè)進(jìn)程 | 一個(gè)進(jìn)程至少有一個(gè)線程 |
運(yùn)行效率 | 進(jìn)程在執(zhí)行過程中擁有獨(dú)立的內(nèi)存單元,相對線程會慢 | 多個(gè)線程共享內(nèi)存,極大提高了程序運(yùn)行效率。 |
運(yùn)行環(huán)境 | 內(nèi)部必須包含一個(gè)線程 | 必須在進(jìn)程中運(yùn)行 |
優(yōu)缺點(diǎn) | 利于資源的管理和保護(hù),但執(zhí)行開銷大 | 執(zhí)行開銷小,單不利于資源的管理和保護(hù) |
Python線程專題1:多線程使用的必要性
Python線程專題2:多線程共享全局變量
Python線程專題3:thread對象
Python線程專題4:Timer對象、Lock對象、Rlock對象
Python線程專題5:信號量與有邊界的信號量
Python線程專題6:事件
Python線程專題7:條件變量
Python線程專題8:使用鎖的注意事項(xiàng)
Python線程專題9:線程終止與掛起
Python線程專題10:實(shí)用工具函數(shù)
Python線程專題11:queue
Python線程專題12:多線程按順序執(zhí)行
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/42396.html
摘要:上一篇文章線程專題縱覽篇下一篇文章線程專題多線程共享全局變量在引入多線程之前,我們先來看一個(gè)非常簡單的實(shí)例。實(shí)例單線程實(shí)例的帥,遠(yuǎn)近聞名第次傳播暫停一秒,不然看不到效果哦結(jié)果按照順序依次打印上面是單線程顯示效果,現(xiàn)在我們來用多線程處理一下。 上一篇文章:Python線程專題縱覽篇下一篇文章:Python線程專題2:多線程共享全局變量 在引入多線程之前,我們先來看一個(gè)非常簡單的實(shí)例。 ...
摘要:一個(gè)進(jìn)程,通常是從上往下逐條語句執(zhí)行,這對正常人來說都比較好理解,但是當(dāng)遇到多進(jìn)程時(shí),雖然在每個(gè)進(jìn)程內(nèi)還是逐句執(zhí)行,但是這個(gè)應(yīng)用程序,體現(xiàn)出出來的就不是逐句執(zhí)行了,這也是多進(jìn)程多線程難以理解的原因。 上一篇文章:Python垃圾回收詳解下一篇文章:Python進(jìn)程專題1:fork():創(chuàng)建子進(jìn)程、getpid()、getppid() 多進(jìn)程就是同時(shí)進(jìn)行多項(xiàng)任務(wù),一個(gè)程序就可以看成是一...
摘要:還有其它很多優(yōu)秀的框架,來方便我們進(jìn)行多進(jìn)程或者多線程處理,使用這些基本可以滿足需要,最最最最后不行,還可以使用協(xié)程來優(yōu)化呢。 上一篇文章:Python進(jìn)程專題9:關(guān)于進(jìn)程的實(shí)用工具函數(shù)下一篇文章:Python進(jìn)程專題完結(jié)篇:多進(jìn)程處理的一般建議 python解析器內(nèi)部使用GIL(Global Interpreter Lock,全局解釋器鎖),在任意指定時(shí)刻,只允許單個(gè)python線...
摘要:上一篇文章線程專題事件下一篇文章線程專題使用鎖的注意事項(xiàng)條件變量時(shí)構(gòu)建在另一個(gè)鎖上的同步原語,當(dāng)需要線程關(guān)注特定的狀態(tài)變化或事件發(fā)生時(shí)將使用這個(gè)鎖。 上一篇文章:Python線程專題6:事件下一篇文章:Python線程專題8:使用鎖的注意事項(xiàng) 條件變量時(shí)構(gòu)建在另一個(gè)鎖上的同步原語,當(dāng)需要線程關(guān)注特定的狀態(tài)變化或事件發(fā)生時(shí)將使用這個(gè)鎖。典型的用法是生產(chǎn)者與消費(fèi)者問題,其中一個(gè)線程生產(chǎn)的...
摘要:上一篇文章線程專題使用鎖的注意事項(xiàng)下一篇文章線程專題多線程按順序執(zhí)行線程沒有任何方法可用于強(qiáng)制終止或掛起。實(shí)用工具函數(shù)函數(shù)名解釋返回當(dāng)前活動的對象數(shù)量。 上一篇文章:Python線程專題8:使用鎖的注意事項(xiàng)下一篇文章:Python線程專題10:queue、多線程按順序執(zhí)行 線程沒有任何方法可用于強(qiáng)制終止或掛起。這是設(shè)計(jì)上的原因,因?yàn)榫帉懢€程程序本身十分復(fù)雜。例如:如果某個(gè)線程已經(jīng)獲取...
閱讀 2963·2021-11-17 09:33
閱讀 3749·2021-11-16 11:42
閱讀 3558·2021-10-26 09:50
閱讀 1481·2021-09-22 15:49
閱讀 3105·2021-08-10 09:44
閱讀 3781·2019-08-29 18:36
閱讀 4052·2019-08-29 16:43
閱讀 2327·2019-08-29 14:10