我试图在Python中同时运行两个函数。我尝试了下面使用multiprocessing
的代码,但是当我执行代码时,第二个函数只在第一个函数完成后才开始。
from multiprocessing import Process
def func1:
#does something
def func2:
#does something
if __name__=='__main__':
p1 = Process(target = func1)
p1.start()
p2 = Process(target = func2)
p2.start()
这正是我需要的。我知道没人问我,但我修改了shashank的代码,以适合Python 3,让其他人看:)
将sys.maxsize替换为一个数字,然后打印(rocket),您可以看到它一次计数一个。找到一个号码然后停下来
你做得对。:)
试着运行这段愚蠢的代码:
您将看到它打印“start func1”,然后打印“start func2”,在很长一段时间后,您将最终看到函数结束。但它们确实会同时执行。
由于进程启动需要一段时间,您甚至可以在“start func1”之前看到“start func2”。
这是@Shashank的一个很好的例子。我只想说,我必须在末尾添加
join
,否则这两个进程不会同时运行:此外,请查看此线程: When to call .join() on a process?
相关问题 更多 >
编程相关推荐