Как синхронизировать пул потоков в python? - PullRequest
0 голосов
/ 08 апреля 2019

После того, как какой-либо поток завершил работу, я хочу, чтобы он дождался своей очереди, т. Е. Каждый другой опубликованный поток до него вернется первым

def model_predict(image, index=1):
    if index%2 == 0:
    time.sleep(50)
return image.shape, '-> This image is of class X ... ', index

pool = ThreadPool()
index = -1
while i < 10:
   index += 1
   async_result = pool.apply_async(model_predict, (image, index))
   return_val = async_result.get()

pool.close()

pool.join ()

Я смешал результаты, не по порядку по индексу ... и много сбоев, когда я пытаюсь прочитать входные данные с камеры, потому что этот return_val = async_result.get () ', который блокирует чтение входных данных с веб-камеры ... потому что мой интернет должен ждать time.sleep (50), который я указал в качестве времени обработки, которое потребуется для возврата этого метода ... как я могу преодолеть эту ситуацию?

...