@dilolo это известно и не считается багом, вы можете сохранять настройки в файл
Написал многопоточный скрипт, но работает непонятно с неудачами
-
@DrPrime Спасибо за ответы. Понял, количество неудач равные 0 использовать не буду. Возникает вопрос. Я задаю 2 потока 4 успеха, N неудач.
В результате получаю стабильно 5 результатов. Почему 5? Откуда 5?[574710937] [23:32:27] Поток №2 : поток спарсил [574710937] [23:32:31] Поток №2 : поток спарсил [574710937] [23:32:35] Поток №2 : поток спарсил [574710937] [23:32:39] Поток №2 : поток спарсил [574710937] [23:32:45] Поток №3 : поток спарсил[574710937] [23:34:58] Поток №3 : поток спарсил [574710937] [23:34:58] Поток №2 : поток спарсил [574710937] [23:35:03] Поток №3 : поток спарсил [574710937] [23:35:04] Поток №2 : поток спарсил [574710937] [23:35:07] Поток №3 : поток спарсил -
@romanbiz У меня тестовый скрипт вызова функции в 2 потока и 2 успешных выполнений, всегда выдаёт 3 результата.
[485290703] [01:36:02] Поток №1 : Начало. [621883604] [01:36:02] Поток №2 : поток спарсил [621883604] [01:36:02] Поток №2 : поток спарсил [621883604] [01:36:02] Поток №3 : поток спарсил [381431811] [01:36:02] Поток №1 : Готово. -
У меня складывается впечатление что многопоточность это такой арт обстрел по данным, где нельзя гарантировать конечный результат? И что если я хочу обойтись без дублей, я должен либо в 1 поток делать, либо потом зачистку реализовывать? Так как если работаю в несколько потоков с ненулевым количеством неудач, не получается укладываться в ровное количество результатов, которые я хочу получить?
В то же время если я выставляю количество неудач=0 у меня не возникает лишних результатов. Все работает как мне надо и в многопотоке. И эта логика меня ставит в тупик. -
@romanbiz Я везде работаю с многопотоком, всё работает чётко и по замыслу. Но ни где не пользовался успешными и неудачными выполнениями. Ведь всё можно организовать в логике скрипта.
Для вашей задачи подойдёт формула выше:
если количество потоков больше 1, то:
количество потоков плюс успешных выполнений минус 1.Выставите скрипт в 3 потока, !100! успешных выполнений и 0 неудачных. Скрипт выдаст только 3 результата.
Как писал выше @DrPrime скорее всего 0 неудачных выполнений не предусмотрено в BAS. -
@Fox дополнение к Вашей формуле, количество успешных выполнений тоже должно быть >1.
Так как в случае 3 потока, 1 успех, 1 неудача получается:[574710937] [00:12:38] Поток №4 : поток спарсил [574710937] [00:12:38] Поток №2 : поток спарсил [574710937] [00:12:38] Поток №3 : поток спарсил