Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> многопоточный даунлоадер картинок, делаю многопоточный закатчик картинок 
:(
    Опции темы
kulibinka
Дата 12.12.2006, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



Та же проблема.
А threading.activeCount( ) действительно и в самом конце равно количеству потоков... Хотя  непонятно почему треды не закрываются.

Вот часть предыдущего кода, который не ждал завершения всех потоков перед записью в лог-файл и при этом корректно завершал свою работу.

Код

    all_downloaders = []
    for i in range(DownloaderS):
        all_downloaders.append(Downloader(queue).start())
        

    for i in range(len(new_lst)):
        queue.put((i, new_lst[i]))

    for i in range(DownloaderS):
        queue.put(None)


Но эту часть пришлось заменить на такую

Код

    all_downloaders = []
    for i in range(DownloaderS):
        all_downloaders.append(Downloader(queue).start())
        

    for i in range(len(new_lst)):
        queue.put((i, new_lst[i]))

    queue.join()


, так как это

Код

    for i in range(DownloaderS):
        queue.put(None)

и это
Код

    queue.join()

вместе не хотело работать и зависало.

теперь работает корректно, да вот треды остаются живы...
PM MAIL   Вверх
_Viper_
Дата 13.12.2006, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 8.11.2006

Репутация: 10
Всего: 11



kulibinka, я тут почитал документацию про Queue и у меня возникло подозрение что 
Код
item = self.__queue.get()
 не вернёт тебе None в случае пустой очереди, а будет ожидать появления нового елемента. Если это так, то это объясняет почему потоки не заканчивают выполнение.

Это сообщение отредактировал(а) _Viper_ - 13.12.2006, 13:13
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1096 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.