Хочу сделать нормальный вывод информации в своем скрипте. Проблема в том, что когда использую Pool потоков с apply_async вывод иногда накладывается друг на друга или перекрывает другой вывод .
Для примера :
from multiprocessing.pool import ThreadPool as Pool
pool = Pool(10)
def sdsd():
for i in range(1, 10000):
print('Вывод информаци скрипта 0101010000101011101010101 {}'.format(i))
print('--------------------------------------------------------------------')
for i in range(1, 10):
pool.apply_async(sdsd)
pool.close()
pool.join()
Вывод получается таким :
Вывод информаци скрипта 0101010000101011101010101 3794
--------------------------------------------------------------------
--------------------------------------------------------------------
Вывод информаци скрипта 0101010000101011101010101 5218
--------------------------------------------------------------------
--------------------------------------------------------------------
Вывод информаци скрипта 0101010000101011101010101 5235
Вывод информаци скрипта 0101010000101011101010101 5577
--------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------
А ожидается такой :
Вывод информаци скрипта 0101010000101011101010101 5077
--------------------------------------------------------------------
Вывод информаци скрипта 0101010000101011101010101 2511
--------------------------------------------------------------------
Вывод информаци скрипта 0101010000101011101010101 4139
--------------------------------------------------------------------
Вывод информаци скрипта 0101010000101011101010101 5237
--------------------------------------------------------------------
Вывод информаци скрипта 0101010000101011101010101 3448
--------------------------------------------------------------------
Я так понимаю мне нужно поставить тайм аут , но простой time.sleep() не меняет картинку.
Как можно улучшить вывод данных ?