파이썬 2.7 다중 처리 패키지를 사용하여 무한 데이터 스트림에서 작동합니다. 하위 프로세스는 TCP/IP 또는 UDP 패킷을 통해 지속적으로 데이터를 수신하고 즉시 멀티 프로세싱에 데이터를 배치합니다 .Queue. 그러나 특정 간격, 예를 들어, 500ms마다이 데이터의 사용자 지정 슬라이스에서만 작동하려고합니다. 지난 200 개의 데이터 패킷을 가정 해 봅시다.다중 처리 및 큐를 사용하여 무한 데이터 스트림 처리
대기열에 put() 및 get()을 할 수 있다는 것을 알고 있지만 a) 대기열을 백업하고 b) 스레드 안전을 유지하지 않고 해당 데이터 조각을 어떻게 만들 수 있습니까?
대기열이 가득 차는 것을 방지하기 위해 다른 하위 프로세스와 함께 큐에서 끊임없이 get()해야한다고 생각합니다. 그런 다음 사용자 지정 슬라이스를 작성하기 위해 데이터를 다른 데이터 구조 (예 : 목록)에 저장해야합니다. 그러나 데이터 구조는 스레드로부터 안전하지 않으므로 좋은 해결책처럼 들리지는 않습니다.
내가 쉽게하려고하는 프로그래밍 패러다임이 있습니까? multiprocessing.Manager 클래스를 살펴 보았지만 제대로 작동하는지 확신 할 수 없었습니다.
안녕하십니까. 게시하기 전에 질문을하는 포럼을 읽어보십시오. 시도한 것을 보여주고 작동하지 않는 코드를 제공하십시오. 의견을 바탕으로 한 광범위한 질문을 피하십시오. – flyingmeatball