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

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
Аватара пользователя
RomanZhilin
Сообщения: 3
Зарегистрирован: 10 окт 2017, 13:30

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

Сообщение RomanZhilin » 25 янв 2018, 15:53

Всё таки хотелось бы понять как правильно пользовать мнопоточность в Хумане.

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

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

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

Сообщение Support » 25 янв 2018, 16:15

Можно работать и так и так, но более стабильный это конечно же 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. Изолированные закладки.

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


Аватара пользователя
super
Сообщения: 146
Зарегистрирован: 03 ноя 2017, 13:58

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

Сообщение super » 05 фев 2018, 12:02

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

Аватара пользователя
Kuzne4ik
Сообщения: 6
Зарегистрирован: 19 мар 2018, 01:56

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

Сообщение Kuzne4ik » 12 фев 2019, 14:18

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

E=mc2
Сообщения: 124
Зарегистрирован: 16 май 2014, 00:57

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

Сообщение E=mc2 » 05 мар 2020, 13:34

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

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

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

Сообщение Support » 05 мар 2020, 13:59

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

Ответить