Ищу в sqlite каждую секунду значение времени (планировщик) с последующей обработкой найденного. Событий совсем не много, но если другие приложения подгрузят процессор, то обработка может занять больше интервала между поиском и следующее значение времени просто потеряется=запланированное не найдется. Пытаюсь развязать прямые запросы от MMTimer.
Как можно выкрутиться? Пробовал получение времени прятать в динамический контейнер с мьютексом внутри - помогает, но как-то нестабильно. Подкиньте свежих идей, пожалуйста.
Add(SafeMode,1103226,329,154)
{
Name="planyr1"
link(onSafeMode,15057438:doPop,[(424,160)(424,118)])
AddHint(-2,49,49,13,Name)
}
Add(Timer,3664099,189,154)
{
link(onTimer,1103226:doSafeMode,[])
}
Add(MMTimer,5142454,189,105)
{
Resolution=0
link(onTimer,14653829:doData,[])
}
Add(Message,3877249,525,112)
{
@Hint=#91:Отправляет запрос в базу со значением времени каждую секунду и после идет цепочка обработки|
AddHint(42,-43,199,39,@Hint)
}
Add(Stack,15057438,462,105)
{
link(onPop,3877249:doMessage,[])
}
Add(SafeMode,14966408,329,105)
{
Name="planyr1"
link(onSafeMode,15057438:doPush,[])
AddHint(3,-34,49,13,Name)
}
Add(Time,622046,259,63)
{
Format="h:m:s"
}
Add(DoData,14653829,259,105)
{
link(onEventData,14966408:doSafeMode,[])
link(Data,622046:FormatTime,[])
}