程序之間通訊(IPC) Inter Process communication
阿新 • • 發佈:2020-07-23
程序之間通訊(IPC) Inter Process communication
基於檔案 :同一臺機器上的多個程序之間通訊
Queue 佇列
基於socket的檔案級別的通訊來完成資料傳遞的
基於網路 :同一臺機器或者多臺機器上的多程序間通訊
第三方工具(訊息中介軟體)
memcache
redis
rabbitmq
kafka
生產者消費者模型
爬蟲的時候
分散式操作 : celery
本質 :就是讓生產資料和消費資料的效率達到平衡並且最大化的效率
import time import random from multiprocessing import Queue,Process def consumer(q): # 消費者:通常取到資料之後還要進行某些操作 for i in range(10): print(q.get()) def producer(q): # 生產者:通常在放資料之前需要先通過某些程式碼來獲取資料 for i in range(10): time.sleep(random.random()) q.put(i) if __name__ == '__main__': q = Queue() c1 = Process(target=consumer,args=(q,)) p1 = Process(target=producer,args=(q,)) c1.start() p1.start()