Суть, я парсю аккаунты с одного сайта.Добавил потоки, появилась проблема, что каждый поток парсит один и тот же акк.Например, ставлю 5 потоков:
admin
admin
admin
admin
admin
123
123
123
123
123
try
For x:=1 to StrToInt(Form1.Edt1.Text) do //цикл до значения, указанного в едите
begin
section.enter;
St:=Form1.idhtp1.get('http://forum.sc2tv.ru/members/'+inttostr(x)); //гет запрос.добавляет в конец значение цикла.
section.leave;
i:=Length('<li class="navbit lastnavbit"><span>'); //парс
Delete(St, 1, Pos('<li class="navbit lastnavbit"><span>', st)+i-1);
Delete(St, Pos('<', st), Length(st));
Synchronize(ShowResult);
end;
except
on e:Exception do
end;
procedure MyThread.ShowResult;
begin
Section.Enter;
Form1.mmo1.Lines.Add(st);
Form1.pb1.Position:=Form1.pb1.Position+1;
Section.Leave;
end;
procedure TForm1.btn1Click(Sender: TObject);
var ThreadBegin:MyThread;
i:integer;
begin
for i:=1 to 5 do
begin
ThreadBegin:=MyThread.Create(False);
ThreadBegin.Resume;
end;
pb1.Max:=strtoint(edt1.Text);
end;
Есть идеи, как намутить что бы потоки не брали один и тот же акк?
я не программер на делфи, но мож и пойдёт идея:
попробуй сделать проверку
"если Н-ый поток, спарсил 1 акк, то все след. потоки игнорируют этот акк"
т.е. можно сделать запись в отдельный файл, какие акки уже есть, а там уже проверку из файла.
я не программер на делфи, но мож и пойдёт идея:
попробуй сделать проверку
"если Н-ый поток, спарсил 1 акк, то все след. потоки игнорируют этот акк"
т.е. можно сделать запись в отдельный файл, какие акки уже есть, а там уже проверку из файла.