постоянно работающий поток и список тасков
От: k0st1x Марс  
Дата: 31.05.11 18:51
Оценка:
решаю задачу — имеется поток-демон, которому другие потоки дают задачи. демон выполняет таск, убирает его из очереди и возвращает результат.
сейчас это реализовано через синхронизируемый class Queue и поток, который сидит в while() и опрашивает очередь на наличие новых задач.
есть предположение, что это можно сделать правильнее (применить готовый класс из .net или, возможно, паттерн для этого имеется)?
за любые идеи заранее благодарю
thread
Re: постоянно работающий поток и список тасков
От: Аноним  
Дата: 31.05.11 21:58
Оценка: -1
Здравствуйте, k0st1x, Вы писали:

K>решаю задачу — имеется поток-демон, которому другие потоки дают задачи. демон выполняет таск, убирает его из очереди и возвращает результат.

K>сейчас это реализовано через синхронизируемый class Queue и поток, который сидит в while() и опрашивает очередь на наличие новых задач.
K>есть предположение, что это можно сделать правильнее (применить готовый класс из .net или, возможно, паттерн для этого имеется)?
K>за любые идеи заранее благодарю

Thread pool.
Re: постоянно работающий поток и список тасков
От: Lloyd Россия  
Дата: 31.05.11 21:59
Оценка: +1
Здравствуйте, k0st1x, Вы писали:

K>решаю задачу — имеется поток-демон, которому другие потоки дают задачи. демон выполняет таск, убирает его из очереди и возвращает результат.

K>сейчас это реализовано через синхронизируемый class Queue и поток, который сидит в while() и опрашивает очередь на наличие новых задач.
K>есть предположение, что это можно сделать правильнее (применить готовый класс из .net или, возможно, паттерн для этого имеется)?
K>за любые идеи заранее благодарю

BlockingCollection из .Net 4 смотрели?
Re[2]: постоянно работающий поток и список тасков
От: k0st1x Марс  
Дата: 01.06.11 10:01
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, k0st1x, Вы писали:


K>>решаю задачу — имеется поток-демон, которому другие потоки дают задачи. демон выполняет таск, убирает его из очереди и возвращает результат.

K>>сейчас это реализовано через синхронизируемый class Queue и поток, который сидит в while() и опрашивает очередь на наличие новых задач.
K>>есть предположение, что это можно сделать правильнее (применить готовый класс из .net или, возможно, паттерн для этого имеется)?
K>>за любые идеи заранее благодарю

А>Thread pool.


мне кажется, threadpool решает не ту задачу...
конечно, мб я ошибаюсь
Re[2]: постоянно работающий поток и список тасков
От: k0st1x Марс  
Дата: 01.06.11 10:02
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, k0st1x, Вы писали:


K>>решаю задачу — имеется поток-демон, которому другие потоки дают задачи. демон выполняет таск, убирает его из очереди и возвращает результат.

K>>сейчас это реализовано через синхронизируемый class Queue и поток, который сидит в while() и опрашивает очередь на наличие новых задач.
K>>есть предположение, что это можно сделать правильнее (применить готовый класс из .net или, возможно, паттерн для этого имеется)?
K>>за любые идеи заранее благодарю

L>BlockingCollection из .Net 4 смотрели?


спс! ознакомлюсь!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.