Как запустить несколько потоков (многопоточность)

serg1209

Новичок
Регистрация
04.04.2023
Сообщения
6
Благодарностей
0
Баллы
1
Добрый день, подскажите прям как для новичка. Сделал шаблон который на сайте входит аккаунтом и берет логин из файла1 и пароль из файла2. Как сделать несколько потоков чтобы заходили разными аккаунтами и не входил тем который уже запускался?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 692
Баллы
113

serg1209

Новичок
Регистрация
04.04.2023
Сообщения
6
Благодарностей
0
Баллы
1
бери строку из файла с удалением. тогда у каждого потока будет своя строка.
Подскажи пожалуйста когда работа в несколько потоков, они загружаются поочередно или сразу одновременно? Я к тому что не получится так - второй поток обращается к файлу а первый поток ещё не удалил строку.
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 683
Благодарностей
1 866
Баллы
113
еще можно посмотреть в разделе с бесплатными проектами реализацию в похожих проектах.
 

serg1209

Новичок
Регистрация
04.04.2023
Сообщения
6
Благодарностей
0
Баллы
1

radv

Client
Регистрация
11.05.2015
Сообщения
3 683
Благодарностей
1 866
Баллы
113
Последнее редактирование:
  • Спасибо
Реакции: Leriandredani

serg1209

Новичок
Регистрация
04.04.2023
Сообщения
6
Благодарностей
0
Баллы
1
бери строку из файла с удалением. тогда у каждого потока будет своя строка.
Подскажи пожалуйста когда работа в несколько потоков, они загружаются поочередно или сразу одновременно? Я к тому что не получится так - второй поток обращается к файлу а первый поток ещё не удалил строку.
 

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 130
Благодарностей
487
Баллы
83
Подскажи пожалуйста когда работа в несколько потоков, они загружаются поочередно или сразу одновременно? Я к тому что не получится так - второй поток обращается к файлу а первый поток ещё не удалил строку.
При многопотоке и работе со списками, они лочатся, поэтому так не произойдет.
 

serg1209

Новичок
Регистрация
04.04.2023
Сообщения
6
Благодарностей
0
Баллы
1

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 130
Благодарностей
487
Баллы
83
Можно пояснить?
Что именно?
Списки - это списки в программе. Для них есть ряд действий, которые можно сделать. Например, взять строку, добавить строку и прочее.
Лок - это вещь, которая позволяет многопотоку понять, что сейчас делается какое-то действие, на который многопоток не должен распространяться как таковой и нужно подождать очереди.
 

serg1209

Новичок
Регистрация
04.04.2023
Сообщения
6
Благодарностей
0
Баллы
1
Что именно?
Списки - это списки в программе. Для них есть ряд действий, которые можно сделать. Например, взять строку, добавить строку и прочее.
Лок - это вещь, которая позволяет многопотоку понять, что сейчас делается какое-то действие, на который многопоток не должен распространяться как таковой и нужно подождать очереди.
Это самому надо делать или это автоматически происходит?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 692
Баллы
113
Это самому надо делать или это автоматически происходит?
вместо тысячи вопросов на форуме, можно посмотреть обучающее видео по основам программы. и почитать хелп по функционалу.

105572


все равно в 2-х словах не расскажешь, а тема очень обширная.
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
482
Благодарностей
183
Баллы
43
Можно пояснить?
Если вы берете строку из списка кубиком зеннопостера, то когда один поток обращается к списку, он лочит (блокирует доступ других потоков) к этому списку до тех пор пока не завершит действие. То есть два потока не могут одновременно начать работать со списком. Один из них начнет работу со списком, а второй встанет в очередь. Когда первый поток доделает операцию со списком, то следующий из очереди поток начнет работу со списком. Происходит это все очень быстро.

Поэтому да, я бы на вашем месте брал строку из списка с акаунтами с удалением. После того как поток завершает работу пропишите возвращение строки с акаунтом, обратно в этот список.
Лучше всего прописать возвращение акаунта в список в GoodEnd и в BadEnd. Так же в самом зеннопостере не забудьте поставить галочку во вкладке "Остановка" - "Выполнять BadEnd при прерывании проекта", для того что бы BadEnd отрабатывал если вы прерываете работу шаблона руками
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 692
Баллы
113
и не забудь, что список становиться общим для всех потоков, только если он привязан к одному файлу. ;-)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)