![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамическое создание потоков TThread [D7]
ppcumax © (2007-06-27 20:22:00)Добрый день, мастера!
Подскажите, пожалуйста. Нужно создать 100 потоков класса TThread, причем на DoWork каждый поток должен выполнять одно и тоже действие. Конечно можно сделать руками, но сами понимаете..., наверное есть какой-то другой способ. Спасибо
Virgo_Style (2007-06-27 20:57:00) [21]ppcumax © (27.06.07 20:49) [5]
а как тут цикл применить?
for i:=1 to 100 do
TMyThread.Create(...)
Но это ответ на [0], в [2] у тебя что-то совсем на [0] непохожее, а что именно - Тьма ведает.
ppcumax (2007-06-27 20:49:00) [22]>я надеюсь, не из реальной программы код? %-)))
нет
>вообще-то есть такая штука, как циклы
знаю. а как тут цикл применить? покажи пример, он же не большой должен быть
Virgo_Style (2007-06-27 20:46:00) [23]вообще-то есть такая штука, как циклы... а [2], я надеюсь, не из реальной программы код? %-)))
oldman (2007-06-27 20:35:00) [24]
> что неужели только руками все писать?
А ты думал программирование = легкая жизнь?
ppcumax (2007-06-27 20:33:00) [25]type
TMyThread1 = class(TThread)
private
{ Private declarations }
protected
procedure DoWork;
procedure Execute; override;
end;
TMyThread2 = class(TThread)
private
{ Private declarations }
protected
procedure DoWork;
procedure Execute; override;
end;
var Form1: TForm1;
T1 : TMyThread1;
T2 : TMyThread2;
implementation
procedure TMyThread1.Execute;
begin
while not Terminated do
Synchronize(DoWork);
end;
procedure TMyThread2.Execute;
begin
while not Terminated do
Synchronize(DoWork);
end;
procedure TMyThread1.DoWork;
begin
Form1.CheckBox1.Checked := True;
end;
procedure TMyThread2.DoWork;
begin
Form1.CheckBox1.Checked := False;
end;
Есть какой-то другой вариант создания потоков, что неужели только руками все писать?
oldman (2007-06-27 20:27:00) [26]
> Динамическое создание потоков
Имхо, а какое исчо?
В дезайн-тайм???
> каждый поток должен выполнять одно и тоже действие.
А по-русски?