Как сделать паузу между запуском потоков?
-
Как сделать паузу между запуском потоков? Чтобы потоки запускались не одновременно, а по порядку. Не было бы большой нагрузки на процессор в начале запуска.
-
Получаем номер потока [[THREAD_INDEX]] и устанавливаем паузу
([[THREAD_INDEX]]-1) * 1000 * N
где N - паузы между запуском потоков в секундах
-
@GameBot said in Как сделать паузу между запуском потоков?:
([[THREAD_INDEX]]-1) * 1000 * N
Куда поставить это выражение?
([[THREAD_INDEX]]-1) * 1000 * N
-
@Dasium действие "Сон" тип expression
-
@GameBot said in Как сделать паузу между запуском потоков?:
@Dasium действие "Сон" тип expression
не распознает переменную N. Можете ли вы написать, как именно это сделать?
-
@Dasium вместо N используйте число (пауза в секундах).
Значение вместо N можно задать и через ресурс
-
@GameBot said in Как сделать паузу между запуском потоков?:
@Dasium вместо N используйте число (пауза в секундах).
Значение вместо N можно задать и через ресурс([[THREAD_INDEX]] - 1) * 1000
эта формула работает, не нужна переменная N.
-
@Dasium без переменной N паузы между потоками будет одна секунда. Если требуется другое значение, то как раз нужно умножить на N
-
@GameBot
А если потоков 200 в проге? То 200-й поток запуститься минимум через 199 секунд.
Для топикстартера @FREEMAN рекомендую юзать node.js и выставлять меньшие объемы времени, если уж задача только разгрузить ЦП в момент одновременного открытия потоков. Пример кода:let ms = 10*[[THREAD_INDEX]]; await (new Promise((resolve, reject) => { setTimeout(function(){ resolve() }, ms); }));
-
@olegtut Ну и что? Через три минуты запустится, это так важно?