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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пул потоков для питона, гляньте 
:(
    Опции темы
sandello
Дата 28.4.2006, 06:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Небольшая библиотека, предоставляющая пол потоков для питона: pthreadpool.
Проба пера на питоне. Хотелось бы услышать коментарии и пожелания :-) Если будет смысл - буду дальше развивать :-)
 


--------------------
user posted image
PM MAIL Jabber   Вверх
Бонифаций
Дата 28.4.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 40



а чем встроенные питоновские плохи? 


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
bialix
Дата 1.5.2006, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(sandello @ 28.4.2006,  06:52)
Небольшая библиотека, предоставляющая пол потоков для питона: pthreadpool.
Проба пера на питоне. Хотелось бы услышать коментарии и пожелания :-) Если будет смысл - буду дальше развивать :-)

Что это? Как это работает? Как его использовать? Чем оно лучше того же Twisted?

Или вы считаете, что краткого анонса достаточно? 
PM MAIL WWW   Вверх
sandello
Дата 2.5.2006, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Бонифаций @  28.4.2006,  14:19 Найти цитируемый пост)
а чем встроенные питоновские плохи?  

На встроенных и сделано :-)

Цитата(bialix @  2.5.2006,  00:18 Найти цитируемый пост)
Чем оно лучше того же Twisted?

Первый раз слышу  smile
На первый взгляд - тем что проще (но сильно не уверен, что лучше) :-)

Для получения небольшого примера достаточно просто запустить pthreadpool.py


Описание:
Библиотека реализует простейший пул потоков. Каждый поток умеет исполнять "задание", имеющее метод "work()", которое берет из очереди.

В библиотеке определены два класса: TPManager  и TPWorker. Первый класс реализует сам пул и предназначен для непосредственного использования в приложениях, второй класс - это рабочий поток, задача которого состоит в исполнении заданий.
Для настройки поведения пула в TPManager'е определены несколько переменных:
Код

    #максимальное количество рабочих потоков
    #max worker threads
    self.__maxthreads=1
    #минимальное количество свободных потоков
    #min worker threads
    self.__minthreads=1
    #уничтожать поток, если стоит (сек)
    #kill worker thread after ... seconds inactivity
    self.__threadtermafter=100
    #флаг, указывающий на необходимость срочного завершения работы
    self.__term=False
    #флаг, указывающий на необходимость завершения после опустошения очереди
    self.__termafterend=True
    #создавать по ... штук
    #create ... new worker threads at time
    self.__newthreadcount=1


Работа пула может быть завершена двумя способами:
1. после исчерпания всей очереди. Для этого нужно вызвать метод TPManager.termAfterEnd() с аргументом True
2. после завершения текущих заданий. Устанавливается вызовом метода TPManager.term() без аргументов.
Если режим завершения работы не определен, после исчерпания заданий пул переходит в режим ожидания.
 


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


 




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


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

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