国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

多任務---進程process使用總結。

J4ck_Chan / 3101人閱讀

摘要:查看有多少個子進程,可以使用命令來查看。很少的資源即可實現多任務。可以說線程時進程進程的一部分。當任務數固定,比較少,使用創建多進程當任務數不固定,數量較多時,使用進程池來解決。向進程池里面添加任務關閉進程池等待所有子進程執行完畢。

進程

進程是啟動中的程序,擁有資源,比如攝像頭,鼠標,顯卡,網卡,鍵盤。讓操作系統調度。是資源分配的單位,進程切換時占用的資源比較大。

創建進程方式:

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

使用multiprocessing.Process可以創建多進程,但是創建每份子進程時都會復制一份代碼+資源,所以創建多進程會耗費更多的資源。

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

一. 進程和線程的區別:

進程:能夠實現多任務,一個電腦上開多個qq, 需要很大的資源才能實現多任務
線程:能夠實現多任務,一個qq上開了多個聊天窗口。很少的資源即可實現多任務。先有進程,才有線程。可以說線程時進程進程的一部分。

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

queue隊列:先進先出,
棧:先進后出
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("隊列已空")

三. 進程池pool
pool是用來解決數量比較大的任務執行時,所用到一種最大化資源利用的方式。
當任務數固定,比較少,使用multiprocessing.Process創建多進程;
當任務數不固定,數量較多時,使用進程池pool來解決。

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43628.html

相關文章

  • 進程與線程

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

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

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

    Youngs 評論0 收藏0
  • Python中編寫并發程序

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

    _ipo 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<