2012-10-06 4 views
0

Unix 용 Python 2.4 및 Windows 용 2.7로 실행해야하는 Python 응용 프로그램을 작성해야합니다. 이 응용 프로그램은 동기화되고 메시지를 공유해야하는 병렬 작업을 실행해야합니다.Python : 다중 플랫폼 다중 처리 2.4

이렇게하는 데있어 가장 간단하고 안정적이며 간단한 솔루션은 무엇입니까?

os.fork()을 (를) 사용하는 라이브러리가 발견되었지만 불행히도 os.fork()은 (는) Windows 호환되지 않습니다. multiprocess 패키지는 Python 2.4와 호환되지 않습니다.

왼쪽의 유일한 해결 방법은 subprocess이지만 내 문제를 해결할 다른 솔루션이 있는지 궁금합니다.

+0

나는 더 이상 파이썬 2.4를 사용하지 않는 것이 좋습니다. 공식적으로는 지원하지 않습니다. – number5

+0

제가 할 수 있으면 좋겠지 만 실제로 CentOS 5는 파이썬 2.4를 사용하기 때문에 필요합니다. ( – remiH

답변

0

Threads을 사용하면 더 쉬울 수도 있습니다. 실질적인 가이드 here이 있습니다.

안내서에는 스레드가 포함 된 Queue의 사용 예제가 있습니다.

대기열을 사용하면 스레드간에 메시지를 전달할 수 있습니다.

스레드는 새로운 프로세스를 만드는 것보다 가벼우 며 크로스 플랫폼이어야하며 파이썬 버전 2.4에있는 것처럼 보입니다. 이 guide는 2.4에 대해 작성되었다고 생각합니다

+1

스레드 파이썬은 GIL 때문에 병렬로 실행되지 않습니다. – g19fanatic

+0

답변을 주셔서 감사합니다.하지만 어떤 이유로 든 하나의 충돌로 인해 프로세스가 독립 프로세스가되기를 원하기 때문에 다중 쓰레드를 사용하지 않을 것입니다. 전체 애플리케이션이 충돌하는 것을 원하지 않습니다. – remiH

+0

@ g19fanatic 매일 새로운 것을 배울 xD – scaryrawr