multiprocessing.queues
의 SimpleQueue
클래스를 사용하고 있습니다. 비정상 종료 될 때까지 내 프로그램이 제대로 작동했습니다. 이제 실행 할 때마다 get
호출이 수행되기 전에 put
호출이 중단됩니다. 내 생각 엔 SimpleQueue
은 기본 통신 방법과 비슷한 파일이나 유사한 것을 사용하며 손상되었습니다.SimpleQueue의 put 메소드가 정지되는 이유는 무엇입니까?
SimpleQueue
을 다시 사용할 수있는 방법에 대한 아이디어가 있으십니까? 가급적이면 컴퓨터를 다시 시작하지 않고 동시에 여러 사람이 작업하는 공유 컴퓨터입니다.
이 Windows 환경에 있는지 여부에 따라 달라집니다 (분 반환하지 않습니다). 'SimpleQueue'의 구현은 플랫폼에 의존적 인'Pipe'에 의존합니다. 대부분의 플랫폼에서는 단지'pipe (2)'또는'socketpair (2)'를 생성하지만, Windows에서는'win32.CreateNamedPipe'를 사용합니다. 임시 파일의 사용으로 인해 안전해야하지만 관찰 된 동작을 겪을 수 있습니다 .mktemp'. OS와 Python 버전을 모두 포함하십시오. –
저는 Fedora 15와 Python 2.7.1을 사용하고 있습니다. 질문 업데이트 : 첫 번째'put' 호출은 아니지만'get' 호출이 수행되기 전에 발생합니다. –