#encoding=utf-8
'''
多进程全双工管道(多进程数据交换)
'''
import multiprocessing
import time
import logging
logging.basicConfig(level=logging.INFO,format='%(asctime)s %(name)s %(levelname)s %(message)s')
log = logging.getLogger(__name__)
def task1(pipe):
for i in range(5):
str = f"task1-{i}"
now = time.strftime('%H:%M:%S')
log.info('{} task1 发送:{}'.format(now,str))
pipe.send(str)
time.sleep(2)
for i in range(5):
now = time.strftime('%H:%M:%S')
log.info('{} task1 接收:{}'.format(now,pipe.recv()))
def task2(pipe):
for i in range(5):
now = time.strftime('%H:%M:%S')
log.info('{} task2 接收:{}'.format(now,pipe.recv()))
time.sleep(1)
for i in range(5):
str = f"task2-{i}"
now = time.strftime('%H:%M:%S')
log.info('{} task2 发送:{}'.format(now,str))
pipe.send(str)
if __name__=='__main__':
pipe = multiprocessing.Pipe()
p1 = multiprocessing.Process(target=task1,args=(pipe[0],))
p2 = multiprocessing.Process(target=task2,args=(pipe[1],))
p1.start()
p2.start()
p1.join()
p2.join()
页面更新:2024-04-02
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号