2017-05-24 1 views
0

기본적으로 텍스트 파일에서 gps 점을 읽고 자동차 속도를 결정하는 자동차 자극을 나타내는 코드가 있습니다.다중 처리 후 정상 함수 호출

멀티를 동시에 나는 다중 트래픽이 감지 된 목록을 호출 할 준비가되어 직후 함수를 호출 할

에 여러 개의 텍스트 파일을 읽을 수 있도록 하였다.

현재 다중 처리 전에 함수를 호출하고 연결되어 있지는 않지만 5 번 (다중 프로세스의 수)으로 호출합니다. 내가 원하는 건이 getStreetName() 메소드입니다

def stimulation(): 
if __name__ == '__main__': 
    p1 = Process(target=getGPSPointsFromFile, args=('gpstest-notraffic',)) 
    p1.start() 
    #p1.join() 
    p3 = Process(target=getGPSPointsFromFile, args=('gpstest-traffic-aldomoro2',)) 
    p3.start() 
    #p3.join() 
    p4 = Process(target=getGPSPointsFromFile, args=('gpstest-traffic-kappara1',)) 
    p4.start() 
    #p4.join() 
    p5 = Process(target=getGPSPointsFromFile, args=('gpstest-traffic-kappara2',)) 
    p5.start() 


stimulation() 
getStreetName() 

는 자극

+0

안녕하세요, 'if __name__ =='__main __ ':'inside simulation method? – Pavan

+0

예 자극 방법에서 설정했습니다 – Rach

답변

0

시작 각 프로세스가 전체 파이썬 파일을 읽고 실행 한 후 호출, 각각의 프로세스는 그 함수를 호출한다.
if __name__ == '__main__': 블록을 다음은 단지 당신은 당신이 수집 할 수

if __name__ == '__main__': 
    p1 = Process(target=getGPSPointsFromFile, args=('gpstest-notraffic',)) 
    p1.start() 
    p3 = Process(target=getGPSPointsFromFile, args=('gpstest-traffic-aldomoro2',)) 
    p3.start() 
    p4 = Process(target=getGPSPointsFromFile, args=('gpstest-traffic-kappara1',)) 
    p4.start() 
    p5 = Process(target=getGPSPointsFromFile, args=('gpstest-traffic-kappara2',)) 
    p5.start() 
    p1.join() 
    p3.join() 
    p4.join() 
    p5.join() 
    stimulation() 
    getStreetName() 

또한 당신의 함수를 호출 한 후 각 프로세스 (join()를 호출하여) 끝날 때까지 기다릴 필요가 주요 공정
에 의해 실행되는 것을 보장하여 프로세스를 목록으로 만들면 얼마나 많은 프로세스를 스폰하든 관계없이 반복 할 수 있고 각 프로세스에 대해 join을 호출 할 수 있습니다.

+0

감사합니다 this : D – Rach