【发布时间】:2017-05-03 13:13:16
【问题描述】:
以下是我的代码
from multiprocessing import Process,Queue,Pipe
from threading import Thread
import time
p,q = Pipe()
def bcd(p):
print p.recv()
def abc(p):
t1 = Thread(target=bcd,args=(p,))
t1.daemon = True
t1.start()
p1 = Process(target=abc,args=(p,))
p1.start()
time.sleep(3)
q.send('test')
当bcd() 作为线程启动时,p.recv() 不会打印任何内容。
但是,当我尝试从abc() 访问p 时,
p.recv() 工作和打印test。有人可以解释这种行为吗?
【问题讨论】:
-
我已将其传递给 bcd
target=bcd,args=(p,)
标签: python multithreading python-multiprocessing