成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

多任務(wù)---進(jìn)程process使用總結(jié)。

J4ck_Chan / 3150人閱讀

摘要:查看有多少個子進(jìn)程,可以使用命令來查看。很少的資源即可實現(xiàn)多任務(wù)。可以說線程時進(jìn)程進(jìn)程的一部分。當(dāng)任務(wù)數(shù)固定,比較少,使用創(chuàng)建多進(jìn)程當(dāng)任務(wù)數(shù)不固定,數(shù)量較多時,使用進(jìn)程池來解決。向進(jìn)程池里面添加任務(wù)關(guān)閉進(jìn)程池等待所有子進(jìn)程執(zhí)行完畢。

進(jìn)程

進(jìn)程是啟動中的程序,擁有資源,比如攝像頭,鼠標(biāo),顯卡,網(wǎng)卡,鍵盤。讓操作系統(tǒng)調(diào)度。是資源分配的單位,進(jìn)程切換時占用的資源比較大。

創(chuàng)建進(jìn)程方式:

p1 = multiprocessing.Process(target=test1)?p1.start()

使用multiprocessing.Process可以創(chuàng)建多進(jìn)程,但是創(chuàng)建每份子進(jìn)程時都會復(fù)制一份代碼+資源,所以創(chuàng)建多進(jìn)程會耗費更多的資源。

查看有多少個子進(jìn)程,可以使用linux命令ps -aux來查看。

一. 進(jìn)程和線程的區(qū)別:

進(jìn)程:能夠?qū)崿F(xiàn)多任務(wù),一個電腦上開多個qq, 需要很大的資源才能實現(xiàn)多任務(wù)
線程:能夠?qū)崿F(xiàn)多任務(wù),一個qq上開了多個聊天窗口。很少的資源即可實現(xiàn)多任務(wù)。先有進(jìn)程,才有線程??梢哉f線程時進(jìn)程進(jìn)程的一部分。

二. 消息隊列queue是進(jìn)程間通信的一種方式,socket也是。

queue隊列:先進(jìn)先出,
棧:先進(jìn)后出
queue的使用:

q = Queue(3)?q.put("adsb")?print(q.full())??
try:?    q.put_nowait("aaa")?except:?    print("隊列已滿")??print(q.get())?print(q.empty())??
try:?    q.get_nowait()?except:?    print("隊列已空")

三. 進(jìn)程池pool
pool是用來解決數(shù)量比較大的任務(wù)執(zhí)行時,所用到一種最大化資源利用的方式。
當(dāng)任務(wù)數(shù)固定,比較少,使用multiprocessing.Process創(chuàng)建多進(jìn)程;
當(dāng)任務(wù)數(shù)不固定,數(shù)量較多時,使用進(jìn)程池pool來解決。

po = Pool(3)??for i in range(10):?    po.apply_async(work, (i, ))  #向進(jìn)程池里面添加任務(wù)
??po.close()  #關(guān)閉進(jìn)程池
?po.join()  #等待所有子進(jìn)程執(zhí)行完畢。意思是子進(jìn)程都結(jié)束后,再操作子進(jìn)程,必須再close的后面。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/43628.html

相關(guān)文章

  • 進(jìn)程與線程

    摘要:進(jìn)程與線程進(jìn)程和線程是操作系統(tǒng)的基本概念但是它們比較抽象不容易掌握。線程,有時被稱為輕量進(jìn)程,,是程序執(zhí)行流的最小單元。 進(jìn)程與線程 進(jìn)程(process)和線程(thread)是操作系統(tǒng)的基本概念,但是它們比較抽象,不容易掌握。 有一個很好的類比,可以把它們解釋地清晰易懂。 CPU 計算機的核心是CPU,它承擔(dān)了所有的計算任務(wù)。它就像一座工廠,時刻在運行。 假定工廠的電力有限,一次...

    Jingbin_ 評論0 收藏0
  • Python Process/Thread 概念整理

    摘要:每個在同一時間只能執(zhí)行一個線程在單核下的多線程其實都只是并發(fā),不是并行,并發(fā)和并行從宏觀上來講都是同時處理多路請求的概念。在多線程下,每個線程的執(zhí)行方式獲取執(zhí)行代碼直到或者是虛擬機將其掛起。拿不到通行證的線程,就不允許進(jìn)入執(zhí)行。 進(jìn)程與線程 并發(fā)與并行 進(jìn)程與線程   首先要理解的是,我們的軟件都是運行在操作系統(tǒng)之上,操作系統(tǒng)再控制硬件,比如 處理器、內(nèi)存、IO設(shè)備等。操作系統(tǒng)為了向上...

    Youngs 評論0 收藏0
  • Python中編寫并發(fā)程序

    摘要:在中由于歷史原因使得中多線程的效果非常不理想使得任何時刻只能利用一個核并且它的調(diào)度算法簡單粗暴多線程中讓每個線程運行一段時間然后強行掛起該線程繼而去運行其他線程如此周而復(fù)始直到所有線程結(jié)束這使得無法有效利用計算機系統(tǒng)中的局部性頻繁的線程切換 GIL 在Python中,由于歷史原因(GIL),使得Python中多線程的效果非常不理想.GIL使得任何時刻Python只能利用一個CPU核,...

    _ipo 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<