Цикл внутри start()

 

Суть проблемы в том, что мне надо обновлять информацию не каждый тик, а h раз в минуту. т.е. с шагом 60/h секунд.


При этом не хотелось бы чтобы эти циклы пересекались. Есть вариант примерно следующий


int start() {
static int count = -1;

count += 1;

if count ==0 {
    while 1 { 
          < мой обработчик цикла >
           sleep(60/h);
    }
}




}


Есть ли что-нибудь менее убогое?
 
iamthegoodbot писал(а) >>

Суть проблемы в том, что мне надо обновлять информацию не каждый тик, а h раз в минуту. т.е. с шагом 60/h секунд.

При этом не хотелось бы чтобы эти циклы пересекались. Есть вариант примерно следующий

Есть ли что-нибудь менее убогое?

Еть вариант, аналогичный используемых в советнике по открытию бара. Контроль открытия ноовго бара

 
А как это можно использовать?
 
iamthegoodbot писал(а) >>
А как это можно использовать?

Точно так же как и в советниках. Разницы особой нету. Но есть различие. Нужно еще и историю корректно обрабатывать

 
static int lt=0;
   if(TimeCurrent()>lt+60/h){
    lt=TimeCurrent();
     // что-то делаем
   }
Зависит от тиков, выполняется не чаще, чем раз в 60/h секунд.
 
Integer >>:
Зависит от тиков, выполняется не чаще, чем раз в 60/h секунд.

нельзя чтобы от тиков зависело

 
Тогда ставьте бесконечный цикл с обновлением и в конце "засыпайте" на 60/h*1000 милисекунд.
 
в общем так как я делал в топике. спасибо.