作者ferretwind (FF)
看板Python
标题[问题] 多行程(多进程)可否动态创造子行程?
时间Sun Jun 3 22:16:43 2018
各位大神安好,
小弟在网路上搜寻的资料,不论是Process,或是Pool
在网路上搜寻到的范例都是在
if __name__ == '__main__':
的下方定义好就直接.start() .join() 了;
当在使用执行绪的时候,执行绪可以在需要的时候,
在一个行程的几乎任何位置选择要执行的函数并start()
那麽在使用multiprocessing的时候,
是否能够在需要的时候才执行子行程呢?
还是子行程只能在程式一开始执行 if __name__ == '__main__':
的时候就得要全部建立好呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.236.234.82
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1528035407.A.313.html
1F:→ kobe8112: subprocess当然可以在你要的时候才建立啊 06/03 23:11
2F:→ ferretwind: 楼上大神能否给串关键字 小弟新手还不够会下关键字orz 06/03 23:23
3F:→ kobe8112: 我只是普通小工人,不太懂你意思,你练习的范例执行後 06/04 01:17
4F:→ kobe8112: 有错误讯息所以才这麽问吗?不然不是写写看就知道了? 06/04 01:17
我写的程式如果把 子行程 a=Process(xxx) a.start()
放在if __name__ == '__main__':里面,两个行程都会正常执行,
但是如果把a=Process(xxx) a.start()放在主行程的我需要他执行才执行的位置,
主行程就会死当,子行程也没有执行 orz
ps. OS是 raspbian jessie
6F:→ ThxThx: 简单来说有两个条件:1) module 本身要importable 2) 不能 06/04 04:23
7F:→ ThxThx: 在import到时候fork不然会无穷回圈 06/04 04:23
您好,小弟刚接触,请问是指tabel2要一开始就import吗?
我想利用kivy在两个萤幕显示不同的gui画面,
一个是树莓派官方的触控萤幕,一个是普通的HDMI萤幕,
目标是在触控萤幕触发之後,在HDMI萤幕上显示结果,
而HDMI萤幕在树莓派双萤幕的状态下是开启背光,在萤幕上显示一整片的黑色,
所以目前是希望在没有要显示结果的时候,把HDMI输出关掉,
但是HDMI输出重新打开的时候,需要启动一个指定以HDMI输出的行程,
萤幕才会真的醒来,显示结果,所以希望可以在要显示结果的时候,
才用子行程唤醒HDMI,并显示结果。
但是今天早上实验的结果,好像是Kivy的子行程没办法这样动态建立的样子...
※ 编辑: ferretwind (1.172.94.130), 06/04/2018 10:28:36
8F:→ ThxThx: 根据你给楼上的回覆,建议你先写一个简单的程式来验证你 06/04 13:40
9F:→ ThxThx: 的怀疑,是不是process的问题 06/04 13:40