본문 바로가기
파이썬

파이썬 Python: Executing multiple functions simultaneously

by º기록 2021. 1. 6.
반응형

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

 

해결 방법

 

당신은 그것을 올바르게하고 있습니다. :)

이 어리석은 코드를 실행 해보세요.

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'가 표시 될 수도 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/18864859

 

 

반응형

댓글