Не понятно как работают потоки



  • Всем привет, подскажите логику работы потоков, для примера сделал в скрипте 10 потоков, успешных 20, не успешных 999999, суть вывод в лог цифру 1, в итоге получился такой вот лог. Что не так?

    [11:28:04] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:04] Поток №1 : 1
    [11:28:04] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:04] Поток №1 : 1
    [11:28:04] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №1 : 1
    [11:28:05] Поток №1 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №2 : 1
    [11:28:05] Поток №2 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №3 : 1
    [11:28:05] Поток №3 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №4 : 1
    [11:28:05] Поток №4 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №5 : 1
    [11:28:05] Поток №5 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №6 : 1
    [11:28:05] Поток №6 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №7 : 1
    [11:28:05] Поток №7 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №8 : 1
    [11:28:05] Поток №8 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №9 : 1
    [11:28:05] Поток №9 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Поток №10 : 1
    [11:28:05] Поток №10 : Поток выполнен успешно с сообщением "Ok"
    [11:28:05] Скрипт завершен корректно
    

    0_1483518577725_123.xml



  • @kotikov на даный момент логика такова, что если 19/20 успехов, то не остается 1 поток, а работают все 10. А о достижении успехов потоки не прерываются, а заканчивают работу. Это сделано что бы не тярять попусту ресурсы.
    Так же может быть ситуация что например успех 11/20, работают 10 потоков, 9 завершаются успешно, тогда новые не создаются, а 10й продолжает работать пока не закончит.



  • @DrPrime
    А можно потоками управлять вручную? Т.е через скрипт, создать новый поток, закрыть. и т.п?



  • @kotikov https://community.bablosoft.com/topic/806/управление-потоками-к-вом-неудач-и-успехов-из-выполняющегося-скрипта/13
    Стандартными средствами БАС пока нельзя, но в теме описано как это можно делать с помощью глобальных переменных


  • administrators

    @kotikov
    Чтобы прервать работу скрипта ровно после 20 успешных выполнений нужно использовать действия "Успешных выполнений", "If" и "Прервать Скрипт"

    Динамическое изменение количества потоков и этапы выполнения скрипта будут в одной из следующих версий.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.