![]() |
Еще раз о Многопоточности
Перечетал кучу инфы по Многопоточности.
возникли вопросы. подскажите если не затруднит. допустим мне надо сделать GEt запрос тапа Код:
IdHTTP1.Get('http://'+Form1.Edit1.Text+'/index.php?id=1');как первому потоку дать id=1 итд и второй вопрос как проверять если поток остоновился tuk снова запустить |
Цитата:
2) зачем его запускать, если он остановился? сделай так, чтобы он не останавливался, пока это не будет нужно. |
Цитата:
если есть укого нибуть примерчик как сделть поделитесь |
Цитата:
Если делфи или билдер, можешь использовать класс TThread с его Synchronize |
рихтера почитай... хотя...
вообще при создании потока функции потока можно передать указатель переменную например в твоем случае целое число. 2 нафига его перезапускать сделай бесконечный цикл а нужность не нужность зафигачь через event-ы если не хочешь заморачиваться сделай массив числовой типа fEnable[10]; и в функции протока проверяй в цикле бесконечном if(fEnable[id]==0) break; |
Цитата:
начнем Код:
TNewThread = class(TThread) private protected procedure Execute; override; public constructor Create(CreateSuspended: Boolean); end;Код:
constructor TNewThread.Create(CreateSuspended: Boolean); begin inherited Create(CreateSuspended); end; procedure TNewThread.Execute; Код:
procedure TForm1.Button2Click(Sender: TObject); begin TNewThread.Create(false); end;и как его синхронизоватьь.... |
Во-первых, нужно создавать объект TIdHTTP в потоке, а не кидать на форму, иначе смысла в многопоточности нет.
Во-вторых - гугл.ком -> "делфи Synchronize" |
| Время: 09:48 |