日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python并發(fā)編程多進程之守護進程原理解析

系統(tǒng) 1829 0

守護進程

主進程創(chuàng)建子進程目的是:主進程有一個任務(wù)需要并發(fā)執(zhí)行,那開啟子進程幫我并發(fā)執(zhí)行任務(wù)

主進程創(chuàng)建子進程,然后將該進程設(shè)置成守護自己的進程

關(guān)于守護進程需要強調(diào)兩點:

其一: 守護進程會在主進程代碼執(zhí)行結(jié)束后就終止

其二: 守護進程內(nèi)無法再開啟子進程,否則拋出異常:AssertionError: daemonic processes are not allowed to have children

如果我們有兩個任務(wù)需要并發(fā)執(zhí)行,那么開一個主進程和一個子進程分別去執(zhí)行就ok了,如果子進程的任務(wù)在主進程任務(wù)結(jié)束后,就沒有存在的必要了,那么該子進程應(yīng)該在開啟前就被設(shè)置成守護進程。主進程代碼運行結(jié)束,守護進程隨即終止

子進程還沒來得及開始就掛了

設(shè)置了守護進程 就是不給子進程運行

守護進程必須在開啟子進程前開啟

            
from multiprocessing import Process
import time
def task(name):
  print("%s is running" % name)
  time.sleep(3)
  print("%s is done" % name)
if __name__ == "__main__":
  t = Process(target=task, args=('子進程1',))
  # 守護進程必須在開啟子進程前開啟
  t.daemon = True
  t.start()
  print("主")
'''
主
'''
          

開一個子進程是為了并發(fā)任務(wù), 這個子進程的任務(wù),在主進程死了,這個任務(wù)就沒有意義存在,這個子進程就應(yīng)該設(shè)置守護進程

守護進程練習(xí)題

在主進程代碼執(zhí)行完畢,只要出現(xiàn)打印主進程信息,p1就不會執(zhí)行或者死掉

            
from multiprocessing import Process
import time
def foo():
  print(123)
  time.sleep(1)
  print("end123")
def bar():
  print(456)
  time.sleep(3)
  print("end456")
if __name__ == '__main__':
  p1=Process(target=foo)
  p2=Process(target=bar)
  p1.daemon=True
  p1.start()
  p2.start()
  print("main-------")  
'''
main-------
end456
'''
          

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 晋中市| 台江县| 陵川县| 闻喜县| 大邑县| 定襄县| 南和县| 衡水市| 黔东| 璧山县| 滨海县| 咸阳市| 和顺县| 滁州市| 鄯善县| 哈尔滨市| 镇原县| 乌拉特后旗| 区。| 德清县| 石棉县| 仲巴县| 双城市| 太湖县| 宜兴市| 遂川县| 赣州市| 上犹县| 怀仁县| 保亭| 连南| 曲靖市| 义乌市| 卢龙县| 龙井市| 平谷区| 金堂县| 辽阳县| 炉霍县| 西峡县| 乐都县|