Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Одновременный запуск нескольких таймеров.

Страниц (2): [1] 2 »
 

1. konctantin777 - 03 Октября, 2019 - 06:57:35 - перейти к сообщению
Здравствуйте. Видел, что есть на форуме, но не могу найти. Если есть 2-3 таймера с одинаковым номером, то запустятся все. Они же будут не паралельно работать, а просто как получиться, но в итоге будет работать только один, который как то запустился последним до конца кода в нём ?
2. ivantu - 03 Октября, 2019 - 07:04:58 - перейти к сообщению
У таймеров нельзя делать одинаковые номера, только разные.
Но работать они будут параллельно

CODE:

int a=0,b=0;

enabletimer(0); enabletimer(1);

loop()pause(100);


CREATE_TIMER(0, 100){
textout(0, 10, 10, "(Таймер 0) "+format(a), 1);
a++;
}

CREATE_TIMER(1, 100){
textout(1, 10, 30, "(Таймер 1) "+format(b), 1);
b++;
}
3. konctantin777 - 03 Октября, 2019 - 07:12:58 - перейти к сообщению
Мин. Значит я не до конца сформулировал. Они одновременно будут отсчитывать время- ок. Я про параллельность работы кода. Например в каждом таймере 3 картинки крутиться по кругу. В итоге же таймеры будут друг друга просто прерывать, (вмешиваться в работу друг друга), а не паралельно искать 9 картинок ?
4. Dantes3000 - 03 Октября, 2019 - 08:17:00 - перейти к сообщению
konctantin777 , таймеры друг-друга не прерывают.
5. konctantin777 - 03 Октября, 2019 - 08:27:07 - перейти к сообщению
Dantes3000 , Но в итоге же будет работать только один таймер, а не паралельно 3 таймера искать по три картинки ?
6. Dantes3000 - 03 Октября, 2019 - 08:40:00 - перейти к сообщению
konctantin777 , А что значит параллельно? По очереди каждый пиксель на экране сканировать?
Кибор многопоточность не поддерживает.
7. konctantin777 - 03 Октября, 2019 - 08:46:46 - перейти к сообщению
Dantes3000 , Т.е. в итоге будет работать только один. Ок, спасибо )
8. Nikanr - 03 Октября, 2019 - 14:47:32 - перейти к сообщению
 Dantes3000 пишет:
Кибор многопоточность не поддерживает.


Где-то была тема на форуме с кодом, который в отдельном потоке искал окно и закрывал его. Но естественно там длл. Да и для многопоточности нужно иметь прямые руки, коими сейчас не совсем обладаю)
9. 007wan - 04 Октября, 2019 - 03:14:44 - перейти к сообщению
CODE:

int a=0,b=0;

enabletimer(0); enabletimer(1);

loop()pause(100);


CREATE_TIMER(0, 100){
textout(0, 10, 10, "(Таймер 0) "+format(a), 1);
a++;
}

CREATE_TIMER(1, 100){
textout(1, 10, 30, "(Таймер 1) "+format(b), 1);
b++;
}

Запустить можно одновременно.
Если запустить сначала первый enabletimer(0); с задержкой микромекунды или мили, а потом запустить второй enabletimer(1); но задержка зависеть будет от количества кода и его прогружаемости, а так же нужно выяснить насколько секунды или мили илимикро таймер 1 запускается быстрее таймера 2 и такую задержку создать. проверить это можно будет просто:
запустить таймер 1 и 2 и проверить время запуска в мили секундах, без Messagebox, потому что он дает дополнительную разгрузка и паузу скрипту, что увеличивает быстроту срабатывания после сообщения скрипта, это как sleep, то тут кнопка, пока ты ее не нажмшь, дальше не пойдет.
10. konctantin777 - 04 Октября, 2019 - 04:22:48 - перейти к сообщению
007wan , Ок. Но работать же будет толко один в итоге раз многопоточности нет ? )

Powered by ExBB FM 1.0 Final