Страница 1 из 1

Как работает многопоточность?

Добавлено: 25 янв 2018, 15:53
RomanZhilin
Всё таки хотелось бы понять как правильно пользовать мнопоточность в Хумане.

1-й Вариант: запускаем нужное количество копий одной и той же версии программы из одной папки и используем один скрипт.
2-й Вариант: копируем нужное количество копий в отдельные папки вместе со скриптом и запускаем каждую копию из своей папки с отдельным скриптом.

Re: Как работает многопоточность?

Добавлено: 25 янв 2018, 16:15
Support
Можно работать и так и так, но более стабильный это конечно же 2-й вариант. 1-й вариант можно использовать для очень простых скриптов и то могут возникнуть проблемы, так все запущенные таким образом копии будут использовать один и тот же php. При этом если возникнут проблемы при работе с одноим из потоков скорее всего упадут все.

2-й вариант наиболее стрессоустойчивый, так как при возникновении проблем падает только поток, где возникли проблемы, а остальные пашут себе дальше.

Есть ещё вариант когда каждый поток или N потоков запускают на виртуалках, но это делается когда нужны разные OS и более высокий уровень анонимности для работы скриптов.

С организацией работы во многопоточном режиме с Human Emulator Studio вам поможет XHE Local Manager

Материалы по работе с программой во многопоточном режиме:

Старые материалы:
FAQ по многопоточности: https://xn--80awbbeioodeq4h3a.xn--p1ai/faq/multithread.php
статья Как работать с Human Emulator во многопотоке: http://www.x-scripts.com/articles/multithread.php
статья Как работать с Human Emulator во многопотоке. Запуск из bat-файла. http://www.x-scripts.com/articles/multithread1.php

Новое:
статья Многопоточность в Human Emulator Studio. Изолированные закладки.

Старое, но актуальное видео демонстрирующее как работает многопоточность:


Re: Как работает многопоточность?

Добавлено: 05 фев 2018, 12:02
super
Самый надежный способ - виртуалки. На 16 гиг оперативы, молотят 10 виртуалок, можно и больше запустить, но проц слабоват. Поставил еще комп , проц i7 , но оперативы мало, вообщем нагрузка при 6 виртуалках в среднем 10%.

Re: Как работает многопоточность?

Добавлено: 12 фев 2019, 14:18
Kuzne4ik
Для каждой виртуалки нужна новая лицензия Human :D . А для запуска большого количества копий нужен только процессор потолще и ОЗУ ~2 Гига на экземпляр.

Re: Как работает многопоточность?

Добавлено: 05 мар 2020, 13:34
E=mc2
Подскажите, пожалуйста. Ведущий скрипт принимает решение о запуске нескольких дополнительных потоков. Запускает .bat файл (из примера https://humanemulator.blogspot.com/2010 ... lator.html) командой $app->run_as_bat(). Первый аргумент функции - "содержимое bat файла". Но это многострочный текст. Таки запихивать это всё в команду?

Re: Как работает многопоточность?

Добавлено: 05 мар 2020, 13:59
Support
E=mc2 писал(а):
05 мар 2020, 13:34
Подскажите, пожалуйста. Ведущий скрипт принимает решение о запуске нескольких дополнительных потоков. Запускает .bat файл (из примера https://humanemulator.blogspot.com/2010 ... lator.html) командой $app->run_as_bat(). Первый аргумент функции - "содержимое bat файла". Но это многострочный текст. Таки запихивать это всё в команду?
Пример так и работает. Можно конечно записывать bat файл отдельно и запускать его через команду $app->shell_execute

$app->shell_execute("open","run.bat","","",false);

Также можно помещать содержимое в переменную, а переменную подставлять в команду run_as_bat