python线程间通信的方式,python多线程之间怎么通信
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
1、思路
进程之间肯定需要相互通信,操作系统提供了很多机制来实现进程之间的通信。Python的多处理模块包装了底层机制,提供了队列、管道和其他交换数据的方式。
2、实例
以Queue为例,在父进程中创建两个子进程,一个将数据写入队列,另一个从队列中读取数据。
fromt多重处理导入进程,队列
进口,时间,随机
#由写数据过程3360执行的代码
defwrite(q):
print( processtowrite :% s % OS . getpid())
forvaluein[A , B , C]:
打印( Put%stoqueue . %值)
价值
time.sleep(random.random())
#读取由数据处理3360执行的代码
defread(q):
print( processtoread :% s % OS . getpid())
whileTrue:
value=q.get(True)
print(Get%sfromqueue。%值)
if__name__==__main__:
#父进程创建一个队列,并将其传递给每个子进程:
q=队列()
pw=进程(target=write,args=(q,))
pr=进程(target=read,args=(q,))
# Promoter进程pw,写3360
pw.start()
# Promoter过程pr,读取:
pr.start()
#等pw结束:
pw.join()
#pr的过程是一个死循环,我们等不到它的结束,只能强行终止3360。
Pr.terminate()以上是python进程间通信的方法。希望能帮到你。更多python学习方向:Python基础课程
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。