Python:同时执行多项功能

发布于 2021-01-29 19:32:26

我试图在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()
关注者
0
被浏览
53
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您做得正确。:)

    尝试运行以下愚蠢的代码:

    from multiprocessing import Process
    import sys
    
    rocket = 0
    
    def func1():
        global rocket
        print 'start func1'
        while rocket < sys.maxint:
            rocket += 1
        print 'end func1'
    
    def func2():
        global rocket
        print 'start func2'
        while rocket < sys.maxint:
            rocket += 1
        print 'end func2'
    
    if __name__=='__main__':
        p1 = Process(target = func1)
        p1.start()
        p2 = Process(target = func2)
        p2.start()
    

    您将看到它先打印“ start func1”,然后再“ start func2”,然后(很长一段时间)后,您将最终看到函数结束。但是它们确实会同时执行。

    由于进程需要一段时间才能启动,因此您甚至可能 “ start func1” 之前 看到“ start func2 ”。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看