내 응용 프로그램에 두 개의 스레드가 있습니다. 하나는 Queue
에 값을 넣고 다른 하나는 Queue
에서 값을 가져와 처리합니다.이 스레드가 대기열에서 대기하도록하려면 어떻게합니까?
응용 프로그램을 종료 할 때 딜레마에 직면했습니다. Queue
에서 항목을 처리하는 스레드에 붙어 :
item = request_queue.get() # this call blocks until an item is available
스레드가 다른 항목이 Queue
에 추가 된 경우입니다 종료됩니다 유일한 것은 - 그리고 그것을이기 때문에 메인 스레드가 (아무것도 추가하지 않기 때문에 종료) 응용 프로그램이 잠 깁니다.
그래서 ... Queue
에 아무 것도없는 경우에도 어떻게 든 반환하도록 Queue.get()
에게 지시 할 수 있습니까?
할 수는 있지만 ... 그 스레드의 부정한 종료가 발생합니다. –