Автокликер Clickermann :: Форум

Основной раздел => Ошибки => Topic started by: Oraven on September 10, 2016, 03:29:36 PM

Title: Баги потоков версии 4.12.001
Post by: Oraven on September 10, 2016, 03:29:36 PM
Пример 1 - после остановки и запуска перестает обрабатываться первая строка
Code: (clickermann) [Select]
SETTHREAD (potok, 1)
LOGWRITE ("Вкл")
WAIT(1)

THREAD(potok, 0)
   LOGWRITE ("Строка 1")
   LOGWRITE ("Строка 2")
   LOGWRITE ("Строка 3")
   SETTHREAD (potok, 2)
   LOGWRITE ("Строка 5")
END_THREAD
Лог:
Code: [Select]
10:35:45 Вкл
10:35:45 Строка 1
10:35:45 Строка 2
10:35:45 Строка 3
10:35:46 Вкл
10:35:46 Строка 2
10:35:46 Строка 3
10:35:47 Вкл
10:35:47 Строка 2
10:35:47 Строка 3
10:35:48 Вкл
10:35:48 Строка 2
10:35:48 Строка 3
10:35:49 Вкл
10:35:49 Строка 2
10:35:49 Строка 3

Пример 2 - при остановке текущая задержка в потоке продолжает действовать.
Code: (clickermann) [Select]
SETTHREAD (potok, 1)
LOGWRITE ("Вкл")
WAITMS(50)
SETTHREAD (potok, 2)
LOGWRITE ("Выкл")
WAIT(1)

THREAD(potok, 0)
   LOGWRITE ("Строка 1")
   LOGWRITE ("Строка 2")
   LOGWRITE ("Строка 3")
   WAIT(5)
   LOGWRITE ("Строка 5")
END_THREAD
Лог:
Code: [Select]
10:36:23 Вкл
10:36:23 Строка 1
10:36:23 Строка 2
10:36:23 Строка 3
10:36:23 Выкл
10:36:24 Вкл
10:36:24 Выкл
10:36:25 Вкл
10:36:25 Выкл
10:36:26 Вкл
10:36:26 Выкл
10:36:27 Вкл
10:36:27 Выкл
10:36:28 Вкл
10:36:28 Строка 1
10:36:28 Строка 2
10:36:28 Строка 3
10:36:28 Выкл
10:36:29 Вкл
10:36:29 Выкл
10:36:30 Вкл
10:36:30 Выкл
10:36:31 Вкл
10:36:31 Выкл
10:36:32 Вкл
10:36:32 Выкл
10:36:33 Вкл
10:36:33 Строка 1
10:36:33 Строка 2
10:36:33 Строка 3
10:36:33 Выкл
10:36:34 Вкл
10:36:34 Выкл
Title: Re: Баги потоков версии 4.12.001
Post by: Vint on October 19, 2016, 09:20:21 AM
С вторым примером не понял.
У меня с задержкой всё нормально, а вот строка LOGWRITE ("Выкл") не работает. Добавлял ещё LOGWRITE и до паузы WAIT(1) и после - все игнорируются.
Title: Re: Баги потоков версии 4.12.001
Post by: Oraven on October 19, 2016, 09:39:21 AM
С вторым примером не понял.
У меня с задержкой всё нормально, а вот строка LOGWRITE ("Выкл") не работает. Добавлял ещё LOGWRITE и до паузы WAIT(1) и после - все игнорируются.

В потоке действует задержка WAIT(5) казалось бы поток прерывается SETTHREAD (potok, 2) но после запуска SETTHREAD (potok, 1) WAIT(5) все еще действует. И только после истечения этой задержки поток начнет выполняться.
Можно написать 60 сек тогда будет нагляднее.
Title: Re: Баги потоков версии 4.12.001
Post by: Vint on October 19, 2016, 11:04:40 AM
Я из описания так и представлял себе. Но почему-то выдавало мне совсем иначе.
Сейчас решил повторить и не смог. Теперь полностью совпадает с логом ошибки. Не знаю где был глюк.