Какие-либо практики программирования алгоритмов управления задачами? - PullRequest
0 голосов
/ 10 апреля 2010

Мне было просто интересно, есть ли какое-нибудь поле, касающееся программирования управления задачами (или, по крайней мере, так я его называю).

Для лучшего объяснения task-control рассмотрим следующий сценарий:

Приложение (главный поток) ожидает команду - это может быть конкретное действие или набор действий, которые приложение должно выполнить.

Когда команда получена, главный поток создает task (= порождает независимый поток, который фактически выполняет действие) и добавляет запись в свой список задач - таким образом, отслеживая время выполнения, дескриптор потока , приоритет задачи ... и т. д.

Главный поток ожидает любые другие входящие команды, одновременно заботясь обо всех задачах, например: убивает задачи, выполняющиеся слишком долго, назначает приоритеты задачам с более высоким приоритетом, убивает задачу по запросу другой задачи, ограничивает количество текущих запуск задач, позволяет планировать задачи, очищает завершенные задачи (потоки) и так далее. Модель очень похожа на то, что мы видим в ОС, имеющей дело с запущенными процессами.

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

Спасибо за любые ответы.

1 Ответ

1 голос
/ 28 апреля 2010

Есть ряд шаблонов, которые могут вам здесь помочь.

http://parlab.eecs.berkeley.edu/wiki/patterns/patterns

Очередь задач и мастер / работник были бы разумным местом для начала.

...