• <strike id="6sogq"><s id="6sogq"></s></strike>
  • <strike id="6sogq"></strike>

    千鋒教育-做有情懷、有良心、有品質的職業教育機構

    400-811-9990
    手機站
    千鋒教育

    千鋒學習站 | 隨時隨地免費學

    千鋒教育

    掃一掃進入千鋒手機站

    領取全套視頻
    千鋒教育

    關注千鋒學習站小程序
    隨時隨地免費學習課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當前位置:成都千鋒IT培訓  >  技術干貨  >  python進程之間如何通信

    python進程之間如何通信

    來源:千鋒教育
    發布人:xqq
    時間: 2023-11-06 18:54:56

    python進程之間如何通信

    本文教程操作環境:windows7系統、Python3.9.1,DELLG3電腦。

    1、思路

    Process之間肯定是需要通信的,操作系統提供了很多機制來實現進程間的通信。Python的multiprocessing模塊包裝了底層的機制,提供了Queue、Pipes等多種方式來交換數據。

    2、實例

    以Queue為例,在父進程中創建兩個子進程,一個往Queue里寫數據,一個從Queue里讀數據。

    frommultiprocessingimportProcess,Queue

    importos,time,random

    #寫數據進程執行的代碼:

    defwrite(q):

    print('Processtowrite:%s'%os.getpid())

    forvaluein['A','B','C']:

    print('Put%stoqueue...'%value)

    q.put(value)

    time.sleep(random.random())

    #讀數據進程執行的代碼:

    defread(q):

    print('Processtoread:%s'%os.getpid())

    whileTrue:

    value=q.get(True)

    print('Get%sfromqueue.'%value)

    if__name__=='__main__':

    #父進程創建Queue,并傳給各個子進程:

    q=Queue()

    pw=Process(target=write,args=(q,))

    pr=Process(target=read,args=(q,))

    #啟動子進程pw,寫入:

    pw.start()

    #啟動子進程pr,讀取:

    pr.start()

    #等待pw結束:

    pw.join()

    #pr進程里是死循環,無法等待其結束,只能強行終止:

    pr.terminate()

    以上就是python進程之間通信的方法,希望能對大家有所幫助。更多Python學習教程請關注IT培訓機構:千鋒教育。

    聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

    猜你喜歡LIKE

    python delattr函數如何使用?

    2023-11-10

    python time.strptime的格式化

    2023-11-10

    pythonGIL在Python多線程的應用

    2023-11-10

    最新文章NEW

    python中pdb模塊怎么用?

    2023-11-10

    Python如何截圖保存?

    2023-11-10

    python?中缺少module怎么辦?

    2023-11-10

    相關推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網友熱搜 更多>>