欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python進(jìn)程的通信Queue、Pipe實例分析

 更新時間:2020年03月30日 09:40:22   作者:隨風(fēng)行云  
這篇文章主要介紹了Python進(jìn)程的通信Queue、Pipe,結(jié)合實例形式分析了Python進(jìn)程通信Queue、Pipe基本概念、用法及操作注意事項,需要的朋友可以參考下

本文實例講述了Python進(jìn)程的通信Queue、Pipe。分享給大家供大家參考,具體如下:


內(nèi)容相關(guān):

概念:進(jìn)程的通信

Queue:創(chuàng)建與使用

Pipe:創(chuàng)建與使用


進(jìn)程通信的概念

  • 進(jìn)程的資源空間是相互獨立的,一般而言是不能相互訪問的。但很多情況下進(jìn)程間需要互相通信,來完成系統(tǒng)的某項功能。進(jìn)程通過與內(nèi)核及其它進(jìn)程之間的互相通信來協(xié)調(diào)它們的行為。
  • 通信方法:
    • 數(shù)據(jù)傳輸:一個進(jìn)程將它的數(shù)據(jù)發(fā)送給另一個進(jìn)程【如socket一般,把需要通信的數(shù)據(jù)傳輸給對方】
    • 管道:使用一片獨立的區(qū)域【不在雙方的資源空間中】,像一個有兩個口的倉庫一樣,廠家負(fù)責(zé)在東門把產(chǎn)品放到倉庫,司機(jī)負(fù)責(zé)在西門拉走產(chǎn)品
    • 資源共享:約定一片區(qū)域,雙方都可以隨意取放
    • 消息隊列:這也是一個獨立的區(qū)域,足夠權(quán)限的進(jìn)程可以向隊列中添加消息,被賦予讀權(quán)限的進(jìn)程則可以讀走隊列中的消息

Queue:

  • 可以使用隊列multiprocessing.Queue來進(jìn)行進(jìn)程通信

Queue 在multiprocessing 模塊中:from multiprocessing import Queue

  • Queue的使用:
    • 1.創(chuàng)建對象:Queue對象=Queue()
    • 2.傳入對象:要在主進(jìn)程外使用Queue對象,需要作為參數(shù)傳入image
    • 3.操作對象:【獲取元素:Queue對象.get()】、【放入元素:Queue對象.put(元素)】
#Queue在multiprocessing中
from multiprocessing import Queue,Process

def f(q):#要在主進(jìn)程外使用,需要作為參數(shù)傳入
  q.put(['helloworld'])
  

def m(q):
  print("get in p2:",q.get())

if __name__=="__main__":
  q=Queue()
  p=Process(target=f,args=(q,))
  p.start()
  p2=Process(target=m,args=(q,))
  p2.start()


Pipe:

  • 可以使用管道Pipe來進(jìn)行進(jìn)程通信

Pipe 在multiprocessing 模塊中:from multiprocessing import Pipe

  • Pipe的使用:
    • 1.創(chuàng)建對象:第一個Pipe對象,第二個Pipe對象=Pipe(),返回兩個對象,第一個對象只能發(fā),第二個對象只能收
    • 2.傳入對象:在要發(fā)送的進(jìn)程,傳入第一個Pipe對象;在要接收的進(jìn)程,傳入第二個Pipe對象image
    • 3.操作對象:【獲取元素:第一個對象.recv()】、【放入元素:第二個對象.send(元素)】
    • 4.操作完成后關(guān)閉管道:第一個對象.close(),第一個對象.close()
from multiprocessing import Pipe,Process

def f(conn):
  a=[1,2,3,4]
  conn.send(a)
  conn.close()
def m(conn):
  a=conn.recv()
  conn.close()


if __name__=="__main__":
  parent_conn,child_conn=Pipe()#返回兩個值,第一個只能發(fā),第二個只能收
  p1=Process(target=f,args=(child_conn,))
  p2 = Process(target=m, args=(parent_conn,))#
  p1.start()
  p2.start()
  p1.join()
  p2.join()

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python進(jìn)程與線程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》、《Python+MySQL數(shù)據(jù)庫程序設(shè)計入門教程》及《Python常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python使用到第三方庫PyMuPDF圖片與pdf相互轉(zhuǎn)換

    Python使用到第三方庫PyMuPDF圖片與pdf相互轉(zhuǎn)換

    今天為大家介紹個比較簡單的Python第三方庫PyMuPDF進(jìn)行圖片和pdf之間的相互轉(zhuǎn)換,以下就是利用PyMuPDF進(jìn)行pdf與圖片之間的互轉(zhuǎn)
    2019-05-05
  • python實現(xiàn)不同文件夾下的函數(shù)相互調(diào)用

    python實現(xiàn)不同文件夾下的函數(shù)相互調(diào)用

    這篇文章主要介紹了python實現(xiàn)不同文件夾下的函數(shù)相互調(diào)用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python如何繪制路段時變車速熱力圖

    python如何繪制路段時變車速熱力圖

    本文通過熱力圖形式展示了24小時內(nèi)某個路段的車速變化和特定時刻某條路徑的車速情況,數(shù)據(jù)是通過Numpy隨機(jī)生成的,用以模擬真實的車速情況,文章還展示了如何利用pandas和seaborn庫中的pivot_table()和heatmap()函數(shù)生成熱力圖
    2024-09-09
  • 基于Python實現(xiàn)五子棋游戲

    基于Python實現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了基于Python實現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • python中文件操作與異常的處理圖文詳解

    python中文件操作與異常的處理圖文詳解

    在實際開發(fā)中常常需要對程序中的數(shù)據(jù)進(jìn)行持久化操作,而實現(xiàn)數(shù)據(jù)持久化最直接簡單的方式就是將數(shù)據(jù)保存到文件中,下面這篇文章主要給大家介紹了關(guān)于python中文件操作與異常處理的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • Python正則表達(dá)式中g(shù)roup與groups的用法詳解

    Python正則表達(dá)式中g(shù)roup與groups的用法詳解

    本文主要介紹了Python正則表達(dá)式中g(shù)roup與groups的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python圖像處理之圖像的縮放、旋轉(zhuǎn)與翻轉(zhuǎn)實現(xiàn)方法示例

    Python圖像處理之圖像的縮放、旋轉(zhuǎn)與翻轉(zhuǎn)實現(xiàn)方法示例

    這篇文章主要介紹了Python圖像處理之圖像的縮放、旋轉(zhuǎn)與翻轉(zhuǎn)實現(xiàn)方法,結(jié)合實例形式分析了Python使用resize()、rotate()及transpose()等函數(shù)進(jìn)行圖像的縮放、旋轉(zhuǎn)及翻轉(zhuǎn)相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • 基于Python制作一個文本翻譯器

    基于Python制作一個文本翻譯器

    translate非標(biāo)準(zhǔn)庫是python中可以實現(xiàn)對多種語言進(jìn)行互相翻譯的庫,本文就將利用這個庫制作一個文本翻譯器,實現(xiàn)中譯英的功能,需要的可以參考一下
    2022-04-04
  • python正則表達(dá)式的使用

    python正則表達(dá)式的使用

    這篇文章主要介紹了python正則表達(dá)式的使用,需要的朋友可以參考下
    2017-06-06
  • 淺談tensorflow使用張量時的一些注意點tf.concat,tf.reshape,tf.stack

    淺談tensorflow使用張量時的一些注意點tf.concat,tf.reshape,tf.stack

    這篇文章主要介紹了淺談tensorflow使用張量時的一些注意點tf.concat,tf.reshape,tf.stack,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論