python管道pipe,兩個進程,使用管道的兩端分別執行寫文件動做,帶鎖(lock)

#coding=utf-8
import multiprocessing as mppython

def write_file(content,lock):
    lock.acquire()
    with open(r"d:\\0409.txt",'a') as fp:
        fp.write(content+'\n')
    lock.release()ui


def proc_1(pipe,lock):
    pipe.send('Hello!')
    info=pipe.recv()
    print "proc_1 received:%s" %info
    write_file(info,lock)
    pipe.send('what is your name?')
    info=pipe.recv()
    write_file(info,lock)
    print "proc_1 received:%s" %infoblog

 

def proc_2(pipe,lock):
    info=pipe.recv()
    print "proc_2 received:%s" %info
    write_file(info,lock)
    pipe.send("hello,too!")
    info=pipe.recv()
    print "proc_2 received:%s" %info
    write_file(info,lock)
    pipe.send("don't tell you!!")
    ip

if __name__ == '__main__':
    lock=mp.Lock()
    pipe=mp.Pipe()
    print type(pipe)
    p1=mp.Process(target=proc_1,args=(pipe[0],lock))
    p2=mp.Process(target=proc_2,args=(pipe[1],lock))
    p2.start()
    p1.start()
    p2.join()
    p1.join()utf-8

c:\Python27\Scripts>python task_test.py
<type 'tuple'>
proc_2 received:Hello!
proc_1 received:hello,too!
proc_2 received:what is your name?
proc_1 received:don't tell you!!get

 

相關文章
相關標籤/搜索