Кол-во одновременно запускаемых потоков
-
Хочу установить возможность указывать кол-во одновременно запускающихся потоков, с интервалом времени. Для внятности приведу пример: запускать 30 потоков каждые 60 секунд, в таком русле
-
@zololk1s Действие "№ потока" -> "Сон" с интервалом
№ потока * 60000
-
@zololk1s используй асинхронные функции
-
@tet-vivi нашел такое добро, заполнил параметры, что-то не идет как надо, не подскажите, как быть?
-
@zololk1s said in Кол-во одновременно запускаемых потоков:
@tet-vivi нашел такое добро, заполнил параметры, что-то не идет как надо, не подскажите, как быть?
Сделай как @DoctorKrolic советует и не мучайся
-
если так сделать просто потоки запустятся все через 60 сек, а мне нужно запуск 30 потоков каждые 60 сек, то есть 30+30+30 и т.д., каждые 60 сек
-
@zololk1s said in Кол-во одновременно запускаемых потоков:
если так сделать просто потоки запустятся все через 60 сек
запустятся все и не через 60 сек а сразу. Никак иначе не реализуете.
Вы просто в той части кода стопорите поток на паузу равную №потока * на 60сек
чтобы не тормозить первый нужно вместо №потока сделать (№потока - 1)
-
@zololk1s Можно реализовать при помощи глобальной переменной.
@kuzkuz said in Кол-во одновременно запускаемых потоков:
Никак иначе не реализуете.
Сильное заявление.))
-
с глоб. переменными всё делаю а скрипт только первые 30 запускает а дальше остальные((
Вот что я сделал
-
в режиме записи всё норм, при запуске только первую группу так запускает, потом все остальные потоки
-
-
@zololk1s используйте просто переменную, а не глобальную.
Можно реализовать через
Округление вниз (Номер потока / количество одновременных запусков)
Далее полученное число умножаем на интервал запуска
-
@DoctorKrolic said in Кол-во одновременно запускаемых потоков:
@zololk1s Действие "№ потока" -> "Сон" с интервалом
№ потока * 60000
ТС вот тут Вам показали самый простой, понятный и наглядный вариант.
Вы пошли усложнять )
-
@kuzkuz Таким образом просто каждый поток будет запускаться через минуту.
ТС же сказал что ему нужно запускать пачки потоков с паузами, может на этом работа скрипта завязана.
-
удалось!!!! Кому надо ловите :-)
-
@spacerange said in Кол-во одновременно запускаемых потоков:
@zololk1s Можно положить весь скрипт в функцию и вызывать ее в несколько потоков с паузой:
самый простой способ под требования
-
@spacerange said in Кол-во одновременно запускаемых потоков:
@kuzkuz Таким образом просто каждый поток будет запускаться через минуту.
ТС же сказал что ему нужно запускать пачки потоков с паузами, может на этом работа скрипта завязана.Нет. Все потоки запустятся одновременно. Ладно. Я пас.
-
@kuzkuz И что дальше? Ясно же что речь о работе в потоках, да и вы сами поддержали этот вариант.
Смысл в том что принцип работы совсем не тот что просил ТС. Вон выше вариант где запускаются именно потоки, так и что, ТСу подошел другой вариант. Я сначала предложил работу через глобальные переменные, потом вспомнил более простой вариант. Их много можно придумать, ваше сообщение выглядит как придирка, хотя вы не предлагаете своих вариантов.
-
@spacerange мой вариант обозначил @DoctorKrolic
Он абсолютно совпад ает с моим, не увидел смысла дублировать.
Хорошо )) Расходимся.
Я не придираюсь. Я просто не понял смысла танцев с бубном.
-
@kuzkuz said in Кол-во одновременно запускаемых потоков:
Я не придираюсь. Я просто не понял смысла танцев с бубном.
Так смысл как раз в том что суть работы другая.
Если человеку нужно выполнять запуск работы 30 потоков и пауза на минуту, то как ему поможет запуск работы одного потока в минуту.Тут сделана пауза 1 поток 1 секунда, в том варианте вообще 1 поток 1 минута.
То есть ваше сообщение было из разряда "бери что дают" хотя вариантов реализации придумать можно много.