Author Topic: Баги потоков версии 4.12.001  (Read 2867 times)

0 Members and 1 Guest are viewing this topic.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Баги потоков версии 4.12.001
« 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 Выкл
« Last Edit: October 19, 2016, 11:18:31 AM by Oraven »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Баги потоков версии 4.12.001
« Reply #1 on: October 19, 2016, 09:20:21 AM »
С вторым примером не понял.
У меня с задержкой всё нормально, а вот строка LOGWRITE ("Выкл") не работает. Добавлял ещё LOGWRITE и до паузы WAIT(1) и после - все игнорируются.


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Баги потоков версии 4.12.001
« Reply #2 on: October 19, 2016, 09:39:21 AM »
С вторым примером не понял.
У меня с задержкой всё нормально, а вот строка LOGWRITE ("Выкл") не работает. Добавлял ещё LOGWRITE и до паузы WAIT(1) и после - все игнорируются.

В потоке действует задержка WAIT(5) казалось бы поток прерывается SETTHREAD (potok, 2) но после запуска SETTHREAD (potok, 1) WAIT(5) все еще действует. И только после истечения этой задержки поток начнет выполняться.
Можно написать 60 сек тогда будет нагляднее.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Баги потоков версии 4.12.001
« Reply #3 on: October 19, 2016, 11:04:40 AM »
Я из описания так и представлял себе. Но почему-то выдавало мне совсем иначе.
Сейчас решил повторить и не смог. Теперь полностью совпадает с логом ошибки. Не знаю где был глюк.