Author Topic: почему поток 1 продолжает работу???  (Read 1741 times)

0 Members and 2 Guests are viewing this topic.

scat

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Почему 1 поток продолжает работу яж его поставил на паузу   а он работает :( объясните 



THREAD(potok1, 1)
LOGWRITE("POTOK1 VKL")
WHILE($var=0)
GETSCREEN
IF_PIXEL_IN(408,444, 1026,739, 1279830)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
else
WAITMS(100)
END_CYC
END_THREAD

THREAD(potok2, 1)
LOGWRITE("POTOK2 VKL")
WHILE($var1=0)
GETSCREEN
IF_PIXEL_IN(408,444, 1026,739, 2511295)
   LCLICK($_return1, $_return2)
   WAITMS(100)
   SetThread (potpk1, 2)
   LOGWRITE("POTOK1 PAUZA")
END_IF
else
WAITMS(100)
END_CYC
END_THREAD
« Last Edit: April 13, 2018, 11:48:50 AM by scat »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: почму поток 1 продолжает работу???
« Reply #1 on: April 13, 2018, 10:36:51 AM »
Почему 1 поток продолжает работу яж его поставил на паузу   а он работает :( объясните 

Объясни для начала вот эту конструкцию. У циклов не может быть никаких ELSE
Code: (clickermann) [Select]
   WHILE($var=0)

   else
      WAITMS(100)
   END_CYC

Пиши имена правильно
не SetThread (potpk1, 2) а SetThread (potok1, 2)

Еще учти что в версии 4.12 есть баг потока, если остановить поток SetThread (potpk1, 2) а потом запустить его SetThread (potpk1, 1) то в нем перестает отрабатывать первая строка. В 4.13 бете это исправлено.
Code: (clickermann) [Select]
THREAD(potok1, 1)
   WAITMS(1)
   LOGWRITE("POTOK1 VKL")
   GETSCREEN
   IF_PIXEL_IN(408,444, 1026,739, 1279830)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   END_IF
   WAITMS(100)
END_THREAD

THREAD(potok2, 1)
   LOGWRITE("POTOK2 VKL")
   GETSCREEN
   IF_PIXEL_IN(408,444, 1026,739, 2511295)
      LCLICK($_return1, $_return2)
      WAITMS(100)
      SetThread (potok1, 2)
      LOGWRITE("POTOK1 PAUZA")
   END_IF
   WAITMS(100)
END_THREAD

WAIT(1)
« Last Edit: April 13, 2018, 10:39:16 AM by Oraven »

scat

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: почму поток 1 продолжает работу???
« Reply #2 on: April 13, 2018, 11:03:36 AM »
спасибо ( я не волшебник только учусь ) хотел цикл внутри потока сделать 
объясните поток сам по себе является зацикленной конструкции я правильно понимаю?
и если не затруднит ссылку на 4.13 бету

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: почму поток 1 продолжает работу???
« Reply #3 on: April 13, 2018, 11:22:01 AM »
спасибо ( я не волшебник только учусь ) хотел цикл внутри потока сделать 
объясните поток сам по себе является зацикленной конструкции я правильно понимаю?
и если не затруднит ссылку на 4.13 бету

Да, поток выполняет себя бесконечно.
http://crapware.aidf.org/forum/index.php?topic=356.msg26741#msg26741

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: почму поток 1 продолжает работу???
« Reply #4 on: April 13, 2018, 01:29:03 PM »
спасибо ( я не волшебник только учусь ) хотел цикл внутри потока сделать
Тут вопрос не к самому WHILE, а к непонятно откуда взявшемуся ELSE