5. Thread Pool
ВНИМАНИЕ! Прием "Объяснений" закрыт. Всем преогромное спасибо за участие в конкурсе.
Судьи уже собрали свои пожитки и удалились на совещание, которое продлится до 31 Июля.
Ждите официальных результатов. Cледите за новостями на страницах ISN.
____________________________
Thread Pool (пул потоков) - это...
Dmitry Oganezov |
Re: 5. Thread Pool
Thread Pool (пул потоков) - это...
"- Отлично! Все переписываем задание, - Вовочка достал из кармана листок, на который он переписал задания, - теперь будем его решать в многопоточном режиме: ты быстрей дуй домой и в Интернет, вы двое в библиотеку, а ты карауль у выхода из класса - будешь спрашивать у выходящих их решения. Еще двое из группы поддержки остались не озадаченными, но пул потоков был уже сформирован, и Вовочке было пора возвращаться в класс на олимпиаду..."
См. полный текст
|
Re: 5. Thread Pool
Thread Pool. У каждого хорошего хозяина/хозяйки на кухне есть шкафчик, в котором он или она держат самые необходимые инструменты для приготовления еды (кухонный комбайн, кофеварка, смеситель, прибор для нарезки овощей, миксер, самовар :) ), вот этот шкафчик и называется пул потоков (кух.комбайн, миксер и т.д. – это потоки, которые нужны для решения часто повторяющихся задач). В роли задачи может быть: замес теста, нарезка овощей, приготовление чая/кофе и т.д.
Сакидон Мстислав |
Re: 5. Thread Pool
Call-центр - типичный thread pool. Несколько (ну, как повезёт) операторов заняты принимают звонки клиентов, каждый новый звонок направляется одному из свободных операторов.
|
Re: 5. Thread Pool
Call-центр - типичный thread pool. Несколько (ну, как повезёт) операторов заняты принимают звонки клиентов, каждый новый звонок направляется одному из свободных операторов.
наверное, самая точная аналогия, респект)))
____________________
Борханов Ильнар |
Re: 5. Thread Pool
наверное, самая точная аналогия, респект)))
А как быть с определением правильного числа потоков в пуле? ;) Мне кажется в этом-то как раз подвох, по крайней мере я расчитывал что подвох будет в этом ;). Нужно раскрыть ту идею, благодаря которой назначение задачи одному из заранее созданных потоков эффективнее, чем создание нового потока для каждой из вновь прибывших задач.
Думайте дальше ;)
Dmitry Oganezov |
Re: 5. Thread Pool
Thread Pool (пул потоков) - это...
... как постоянный штат разнорабочих, одну и ту же работу можно дать любому из свободных. если работ становится больше, то некоторые из них будут начинаться позже, когда какой-либо рабочий освободится. так некоторые работы откладываются. если отложенных работ все накапливается, работодатель вынужден нанять еще одного или несколько работников, что требует некоторое время на их поиск и большую оплату на их содержание в штате.
____________________
Борханов Ильнар |
Re: 5. Thread Pool
... как постоянный штат разнорабочих, одну и ту же работу можно дать любому из свободных. если работ становится больше, то некоторые из них будут начинаться позже, когда какой-либо рабочий освободится. так некоторые работы откладываются. если отложенных работ все накапливается, работодатель вынужден нанять еще одного или несколько работников, что требует некоторое время на их поиск и большую оплату на их содержание в штате.
... что-то в этом роде. А теперь еще чтобы прочитав это я улыбнулся и запомнил навсегда. Помните еще про Анжелу? ;) http://software.intel.com/ru-ru/blogs/2008/12/25/2000464/
Dmitry Oganezov |
Re: 5. Thread Pool
А как быть с определением правильного числа потоков в пуле? ;) Мне кажется в этом-то как раз подвох, по крайней мере я расчитывал что подвох будет в этом ;). Нужно раскрыть ту идею, благодаря которой назначение задачи одному из заранее созданных потоков эффективнее, чем создание нового потока для каждой из вновь прибывших задач.
Думайте дальше ;)
В книге S. Akhter, J.Roberts, Multi-Core Programming, Intel Press, 2006 на p.316 находим следующее определение:
"thread pool A collection of worker threads that are used to perform independent units of work on demand. Thread pools reduce the overhead of thread creation/destruction."
И никаких подвохов :) Мне кажется, не стоит путать понятие "коллекции потоков" и способы формирования этой коллекции. Объясню на пальцах: можно, например, восхищаться коллекцией монет в музее, ничего не зная о том, как она была сформирована. Могут быть две практически одинаковые коллекции: одна формировалась обычным способом - путем многолетней деятельности коллекционера, а другой "сформировал" ее в один день, ограбив инкассатора ;)
|
Re: 5. Thread Pool
"thread pool A collection of worker threads that are used to perform independent units of work on demand. Thread pools reduce the overhead of thread creation/destruction."
Хорошо, нет подвохов. Как и нет (пока) понравившегося мне объяснения концепции, выделенной в вашей же цитате жирным шрифтом.
Я ведь не прошу объяснить "thread", хотя мысль такая была ;). Я спрашиваю о "threads pool".
Dmitry Oganezov |
Re: 5. Thread Pool
Хорошо, нет подвохов. Как и нет (пока) понравившегося мне объяснения концепции, выделенной в вашей же цитате жирным шрифтом.
Я ведь не прошу объяснить "thread", хотя мысль такая была ;). Я спрашиваю о "threads pool".
Но и в цитате нет объяснения каким образом "reduce" ;)
| |