LINUX.ORG.RU

Алгоритм шедулера для потоков.


0

0

Добрый день. Задача: за минуту можно 20 раз использовать функцию. В случае если больше 20 раз - вылетает exception. Есть n-потоков. Каждый поток выполняет эту функцию. Количество выполнений напрямую зависит от времени.(Если до даты x в потоке осталось меньше 10 минут - выполнять как можно чаще, ну и т.д.). Такой вот вопрос - что можно использовать и вообще где можно найти информацию по данному вопросу(формулы и т.д. на тему подобного шедулера)?

★★★

Ответ на: комментарий от Waterlaz

Нужен шедулер потоков. То есть чтобы потоки использовали за минуту меньше 20 функций, но при этом с возможностью расстановки приоритетов как по текущему времени, так и по обычным цифровым приоритетам. А вопрос в том, какие алгоритмы в данном случае использовать. Или если есть - какие-либо статьи на эту тему...

fjfalcon ★★★
() автор топика
Ответ на: комментарий от Remington

Увы, меня зовут Павел.

Принцип такой. В каждом потоке заключено время х, когда поток должен прекратить работу. За 5 минут до 1 минуты от времени х он должно использовать функцию как можно чаще. За 10 минут - раз в 4 или 5 секунд. За 20... ну и т.д. еще до конца не решил. При этом на график должен влиять тот фактор, сколько всего потоков есть сейчас. Ну и время... тоже. Вот и думаю на эту тему. Может быть вы в курсе, что лучше почитать на эту тему?

fjfalcon ★★★
() автор топика
Ответ на: комментарий от fjfalcon

Таймер сделай, Павел. Шедулер — это другое.

И да, я наверное тупой, но я не понимаю, как в потоке может быть заключено время.?!

Remington
()
Ответ на: комментарий от Remington

Обычное время, после которого поток уничтожится. Но формулу я уже нашел. Обычный корень... Всем спасибо за попытку помочь.

fjfalcon ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.