python多进程数据交换demo

#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

标签:进程   管道

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top