午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

Python通過4種方式實(shí)現(xiàn)進(jìn)程數(shù)據(jù)通信

瀏覽:116日期:2022-08-02 14:54:21

python提供了4種方式來滿足進(jìn)程間的數(shù)據(jù)通信

1. 使用multiprocessing.Queue可以在進(jìn)程間通信,但不能在Pool池創(chuàng)建的進(jìn)程間進(jìn)行通信

2. 使用multiprocessing.Manager.Queue可以在Pool進(jìn)程池創(chuàng)建的進(jìn)程間進(jìn)行通信

3. 通過Pipe進(jìn)行線程間的通信, pipe進(jìn)程間通信的性能高于Queue,但是它只能在兩個進(jìn)程間進(jìn)行通信

4. 使用Manager類提供的數(shù)據(jù)結(jié)構(gòu)可以進(jìn)行進(jìn)程間的通信

from multiprocessing import Process, Queue, Pool, Manager, Pipe# 注意線程間的通信,使用的queue.Queue# from queue import Queueimport time# 1. 使用multiprocessing.Queue可以在進(jìn)程間通信# def producer(queue):# queue.put(’A’)# time.sleep(2)## def consumer(queue):# time.sleep(2)# data = queue.get()# print(data)## if __name__ == ’__main__’:# queue= Queue(10)# p = Process(target=producer, args=(queue,))# c = Process(target=consumer, args=(queue,))# p.start()# c.start()# p.join()# c.join()# 2. 使用共享全局變量,在多進(jìn)程間通信(結(jié)論: 不行)# def producer(a):# a += 1# time.sleep(2)### def consumer(a):# time.sleep(2)# print(a)## if __name__ == ’__main__’:# a = 1# p = Process(target=producer, args=(a,))# c = Process(target=consumer, args=(a,))# p.start()# c.start()# p.join()# c.join()# 3. multiprocessing.Queue不能用于multiprocessing.Pool進(jìn)程池創(chuàng)建的進(jìn)程間進(jìn)行通信# def producer(queue):# queue.put(’A’)# time.sleep(2)### def consumer(queue):# time.sleep(2)# data = queue.get()# print('consumer:%s' % data)### if __name__ == ’__main__’:# # queue = Queue(10) # 這個是使用multiprocessing.Queue,無效# queue = Manager().Queue(10) # 這個是使用multiprocessing.Manager.Queue, 可以# pool = Pool(2)# pool.apply_async(producer, args=(queue,))# pool.apply_async(consumer, args=(queue,))# pool.close()# pool.join()# 4.通過Pipe進(jìn)行線程間的通信, pipe進(jìn)程間通信的性能高于Queue# def producer(pipe):# pipe.send(’admin’)### def consumer(pipe):# data = pipe.recv()# print('consumer:%s' % data)### if __name__ == ’__main__’:# receive_pipe, send_pipe = Pipe()# '''Pipe只能適應(yīng)于兩個進(jìn)程間的通信'''# p = Process(target=producer, args=(send_pipe,))# c = Process(target=consumer, args=(receive_pipe,))# p.start()# c.start()# p.join()# c.join()# 5. 進(jìn)程間通信的其它方式def add_data(p_dict, key, value): p_dict[key] = valueif __name__ == ’__main__’: progress_dict = Manager().dict() #Manager()類中提供的數(shù)據(jù)結(jié)構(gòu)都能夠做到進(jìn)程的通信 first_progress = Process(target=add_data, args=(progress_dict, ’name’, ’admin’,)) second_progress = Process(target=add_data, args=(progress_dict, ’age’, 45,)) first_progress.start() second_progress.start() first_progress.join() second_progress.join() print(progress_dict) #{’age’: 45, ’name’: ’admin’}

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 精品视频亚洲 | 国产成人黄色av | 久久婷婷色 | 性xxxx视频播放免费 | 91禁看片 | 黄色一级小视频 | 日本欧美国产在线 | 亚色综合 | china激情老汉69老头 | аⅴ天堂中文在线网 | 精品视频一区二区三区在线观看 | 久久久久逼 | 精品免费久久久 | 天堂网久久 | 精品久久一区二区 | 国产成人福利在线 | 在线观看国产成人 | 欧美成人免费 | 欧美性猛交乱大交 | 欧洲一区二区视频 | 国产成人8x视频一区二区 | 91亚洲精品国偷拍自产在线观看 | 久久久久免费看 | 黄色大片网站在线观看 | 国产精品破处 | 午夜精品久久久久99蜜桃最新版 | 精品久久久网站 | 人人艹视频| 美日韩成人 | 日本国产在线 | 亚洲美女啪啪 | 天堂素人约啪 | 中日韩在线观看 | 国产69久久精品成人看 | 美女久久久久久 | 成人深夜视频在线观看 | 亚洲视频欧美 | 午夜视频色 | 天堂资源站 | 青青草视频免费 | 亚洲精品第一页 |