Как запускать потоки поочереди? а не все сразу
-
Подскажите как модифицировать предложенное решение, чтобы потоки не по 1-му стартовали по очереди, а партиями например по 20 штук(для примера число ядер процессора). Т.е. стартовали 20 потом через 30 секунд еще 20(к этому моменту 40 работают), потом еще через 30 секунд еще 20.
-
@Basak298 Самое простое, это в начале скрипта определять номер потока, а затем
if [[THREAD_INDEX]] > 20 && [[THREAD_INDEX]] < 40 sleep 30000 if [[THREAD_INDEX]] > 40 && [[THREAD_INDEX]] < 60 sleep 60000 if [[THREAD_INDEX]] > 60 && [[THREAD_INDEX]] < 80 sleep 90000 if [[THREAD_INDEX]] > 80 && [[THREAD_INDEX]] < 100 sleep 120000
-
@Fox определил номер потока и вставил Ваш код вначале(еще поправив синтаксис). Сейчас BAS тупо виснет при старте. Не пойму в чем причина. Если не сложно можете кусок простого проекта с такой реализацией скинуть?
-
Может кто-то привести пример с куском кода по моему вопросу? У меня BAS виснет и приложение BAS завершает работу.
-
@Basak298 Ухты, 22 дня назад вы об этом спрашивали.. а я как то не увидел..
Если вопрос про:Подскажите как модифицировать предложенное решение, чтобы потоки не по 1-му стартовали по очереди, а партиями например по 20 штук(для примера число ядер процессора). Т.е. стартовали 20 потом через 30 секунд еще 20(к этому моменту 40 работают), потом еще через 30 секунд еще 20.
То вот пример скрипта.
-
@Basak298 Я правильно понимаю, вы
вставил Ваш код вначале(еще поправив синтаксис)
то есть скопировали отсюда и вставили в экшен выполнить код ? Подправив синтаксис?
:D
-
Попробовал Ваш код. Вроде работает нужная мне реализация, единственное не пойму зачем вы ставите 2 секции со sleep(вторая со значением 9999999 )?
-
@Basak298 Ну дак это пример ведь.
-
@Fox спасибо Вам!
-
@Fox Привет. хотел посмотреть твой пример. но у меня, после открытия в БАСё просто написано "инициализация" и ничего больше нет..
-
@CaptchaLom Скачал я свой пример и он нормально открылся:
На всякий пожарный перезалил по новой.