Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Принцип работы scheduler-а..


Автор: Levon11 26.6.2008, 18:42
Добрый день!!! 

Возможно немного не в тему, но всё же у меня такой вопрос.
Меня интересует принцип работы scheduler-а. Если я пишу свой на C#, то по какому принципу он должен работать?? Я скачал исходник с codeproject-а. Там просто создавался класс Timer timer, который через интервалы времени создавал ивенты, потом мой же сервис (я делал реализацию в виде сервиса) этот ивент ловит и проверяет совпадает ли время. Я как-то сомневаюсь что это именно правильный способ реализации.

Спасибо!

Автор: jonie 26.6.2008, 19:10
а чтоб и нет. можно сделать такой поток :
Код

while(true){
 Sleep(1000);
 CheckEvents();
}
где CheckEvents проверит расписание, и вызовет в новых потоках события, если необходимо.
гораздо интереснее вопрос как хранить расписание.
http://forum.vingrad.ru/forum/topic-188851/kw-scheduler-cron.html
вот тут я какие-то мысли излагал.. может пригодится кому.

Автор: Bogdan1024 29.6.2008, 12:30
Хм. Мой scheduler проверял есть ли какие-то задачи каждую минуту, которые могут случиться за эту минуту, и если есть, то таймер переставлялся на эту разницу и когда он в следующий раз срабатывал, то в отдельном потоке обрабатывалась эта задача.

Автор: Levon11 29.6.2008, 19:21
Да... Наверно, ежеминутная проверка единственный вариант! smile 

Автор: jonie 30.6.2008, 00:18
неединственный. в системе (как в win так и в nix) есть встроенный шедулер. почему бы не использовать его? как минимум он работает, и он "стандартен". вообще майкрософт рекомендует использовать его (в висте его, кстати, проапгрейдили).... впрочем, решать как всегда нам)

Автор: Bogdan1024 30.6.2008, 11:59
jonie, а можешь скинуть какую-то инфу об использовании стандартного scheduler'a?

Автор: Bishop 30.6.2008, 12:07
Bogdan1024

http://msdn.microsoft.com/en-us/library/aa383614.aspx

Автор: wectula 9.12.2022, 20:30
Модератор: Сообщение скрыто.

Автор: HodoWoulp 24.1.2023, 15:41
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)