파이썬에서 병렬 처리를해야하는데 한 가지 어려움을 겪으면서 멀티 프로세싱을 사용할 것입니다. 7 개의 프로세스를 만들고 시작했지만 전체 성능을 내지 못합니다. 왜? 그것은 어떤 오류도 보여주지 않았지만 느리게 동작하고 CPU 성능이 향상되지 않습니다. 몇 가지 제안을하십시오. 멀티 프로세싱은 모든 CPU를 사용하지 않습니다
p1 = Process(target=TestFor1,args =())
p2 = Process(target=TestFor2,args =())
p3 = Process(target=TestFor3,args =())
p4 = Process(target=TestFor4,args =())
p5 = Process(target=TestFor5,args =())
p6 = Process(target=TestFor6,args =())
p7 = Process(target=TestFor7,args =())
p1.start()
p2.start()
p3.start()
p4.start()
p5.start()
p6.start()
p7.start()
p1.join()
p2.join()
p3.join()
p4.join()
p5.join()
p6.join()
p7.join()
이 TestFor1 감사
- 7, 나는 루프에 대한 개별있다 일곱 개 다른 기능을했다. 12 루프 CPU (12 코어 CPU)를 가지고 있기 때문에이 7 루프를 병렬로 실행하고 싶습니다. 프로세스를 넣으려는 내용을 읽었습니다. 초기화 (자기)도 시작하지만 여전히 CPU 전원을 공급하지 않습니다. 제안 감사합니다.
당신은이 스레드를 살펴이 있어야합니다 :
이
내 컴퓨터에있는 모든 코어를 사용 http://stackoverflow.com/questions/5784389/using-100-of-all-cores- with-python-multiprocessing – Jerome읽어 봤지만 충분하지 않았습니다. – dbr
구체적인 예제와 작업중인 OS를 게시해야합니다. 나는 하나를 요리했고 나의 모든 과정은 99 %를 쳤다. BTW, @ Jerk31의 참조에 대한 대답은 다단계 파이프 라인 작업 부하에 대해서만 의미가 있습니다. 그것의 범용 솔루션 아닙니다. – tdelaney