|
|
|
Переделать приложение под сервис
|
|||
|---|---|---|---|
|
#18+
Сейчас есть приложение на диалоговом окне, но его надо переделать под сервис. Там просто по таймеру вызывается эта функция. Как лучше организовать в сервисе периодический вызов функции. Если делать в ServiceMain бесконечный цикл, то тут все понятно. А если вызывать по таймеру, т.е. в ServiceMain определить таймер, то как? В ServiceMain все равно оставлять цикл для отлова паузы и останова сервиса и соответственно удалять таймер или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2006, 11:29 |
|
||
|
Переделать приложение под сервис
|
|||
|---|---|---|---|
|
#18+
Бесконечный цикл + sleep + проверять статус сервиса почаще. И никаких таймеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2006, 11:35 |
|
||
|
Переделать приложение под сервис
|
|||
|---|---|---|---|
|
#18+
Загвоздка вот в чем еще может быть - пользователь сам выставляет через какой промежуток времени должна вызываться функция. Тогда лучше "засыпать", наверное, на 1 секунду, а там просто ввести счетчик цикла и через n секунд вызывать процедуру. Хотя и сама функция может выполняться несколько секунд, а то и несколько десятков секунд. Сейчас я запускаю эту функцию в отдельном потоке. Думаю, что и тут делать так же, а при паузе или закрытии сервиса просто ждать завершение потока (предварительно сообщив потоку о необходимости быстрее завершить свою работу). Еще вопросик: виндовс дает на завершение сервиса 20 сек? Правильно ли, что при необходимости можно увеличить это время? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2006, 11:58 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=366&tid=2031725]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
69ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 417ms |

| 0 / 0 |
