Python: Executing multiple functions simultaneously

后端 未结 5 2036
借酒劲吻你
借酒劲吻你 2020-11-27 04:05

I\'m trying to run two functions simultaneously in Python. I have tried the below code which uses multiprocessing but when I execute the code, the second functi

5条回答
  •  独厮守ぢ
    2020-11-27 04:39

    You are doing it correctly. :)

    Try running this silly piece of code:

    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()
    

    You will see it print 'start func1' and then 'start func2' and then after a (very) long time you will finally see the functions end. But they will indeed execute simultaneously.

    Because processes take a while to start up, you may even see 'start func2' before 'start func1'.

提交回复
热议问题