1. 程式人生 > 實用技巧 >批量生產資料放入佇列在批量獲取結果

批量生產資料放入佇列在批量獲取結果

code
import os
import time
import multiprocessing
 
 
# 向Queue中輸入資料的函式
def input(queue):
    info = str(os.getpid()) + '(put):' + str(time.asctime())
    queue.put(info)
 
 
def outputQ(queue):
    info = queue.get()
    print(f'{str(os.getpid())}(get):{info}')
 
 
if __name__ == '__main__':
    multiprocessing.freeze_support()
    record1 
= [] # store input processes record2 = [] # store output processes queue = multiprocessing.Queue(3) # 輸入程序 for i in range(10): process = multiprocessing.Process(target=input, args=(queue,)) process.start() record1.append(process) # 輸出程序 for i in
range(10): process = multiprocessing.Process(target=outputQ, args=(queue,)) process.start() record2.append(process) for p in record1: p.join() for p in record2: p.join()
outputs
macname@MacdeMacBook-Pro py % python3 cccccc.py
58107(get):58097(put):Tue Mar 24
18:59:19 2020 58108(get):58098(put):Tue Mar 24 18:59:19 2020 58109(get):58099(put):Tue Mar 24 18:59:19 2020 58110(get):58100(put):Tue Mar 24 18:59:19 2020 58111(get):58101(put):Tue Mar 24 18:59:19 2020 58112(get):58102(put):Tue Mar 24 18:59:19 2020 58113(get):58103(put):Tue Mar 24 18:59:19 2020 58114(get):58104(put):Tue Mar 24 18:59:19 2020 58115(get):58105(put):Tue Mar 24 18:59:19 2020 58116(get):58106(put):Tue Mar 24 18:59:19 2020 macname@MacdeMacBook-Pro py %