решаю задачу — имеется поток-демон, которому другие потоки дают задачи. демон выполняет таск, убирает его из очереди и возвращает результат.
сейчас это реализовано через синхронизируемый class Queue и поток, который сидит в while() и опрашивает очередь на наличие новых задач.
есть предположение, что это можно сделать правильнее (применить готовый класс из .net или, возможно, паттерн для этого имеется)?
за любые идеи заранее благодарю
Здравствуйте, k0st1x, Вы писали:
K>решаю задачу — имеется поток-демон, которому другие потоки дают задачи. демон выполняет таск, убирает его из очереди и возвращает результат. K>сейчас это реализовано через синхронизируемый class Queue и поток, который сидит в while() и опрашивает очередь на наличие новых задач. K>есть предположение, что это можно сделать правильнее (применить готовый класс из .net или, возможно, паттерн для этого имеется)? K>за любые идеи заранее благодарю
Здравствуйте, k0st1x, Вы писали:
K>решаю задачу — имеется поток-демон, которому другие потоки дают задачи. демон выполняет таск, убирает его из очереди и возвращает результат. K>сейчас это реализовано через синхронизируемый class Queue и поток, который сидит в while() и опрашивает очередь на наличие новых задач. K>есть предположение, что это можно сделать правильнее (применить готовый класс из .net или, возможно, паттерн для этого имеется)? K>за любые идеи заранее благодарю
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, k0st1x, Вы писали:
K>>решаю задачу — имеется поток-демон, которому другие потоки дают задачи. демон выполняет таск, убирает его из очереди и возвращает результат. K>>сейчас это реализовано через синхронизируемый class Queue и поток, который сидит в while() и опрашивает очередь на наличие новых задач. K>>есть предположение, что это можно сделать правильнее (применить готовый класс из .net или, возможно, паттерн для этого имеется)? K>>за любые идеи заранее благодарю
А>Thread pool.
мне кажется, threadpool решает не ту задачу...
конечно, мб я ошибаюсь
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, k0st1x, Вы писали:
K>>решаю задачу — имеется поток-демон, которому другие потоки дают задачи. демон выполняет таск, убирает его из очереди и возвращает результат. K>>сейчас это реализовано через синхронизируемый class Queue и поток, который сидит в while() и опрашивает очередь на наличие новых задач. K>>есть предположение, что это можно сделать правильнее (применить готовый класс из .net или, возможно, паттерн для этого имеется)? K>>за любые идеи заранее благодарю
L>BlockingCollection из .Net 4 смотрели?