![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
всем доброго времени суток....
вопрос таков, как можно реализовать поток в программе так, чтоб одновременно работало к примеру 20 потоков, которые выполняют одинаковую процедуру, но параметры процедуры у каждого потока разные..!!?? спс. за внимание!! |
|
#2
|
||||
|
||||
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TMyThread = class(TThread)
private
i: Integer;
protected
procedure Execute; override;
procedure Memo;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
memo1: TMemo;
implementation
{$R *.dfm}
{ TMyThread }
procedure TMyThread.Execute;
begin
i:=0;
while i<100 do
begin
Inc(i);
Sleep(Random(100));
end;
Synchronize(Memo);
end;
procedure TMyThread.Memo;
begin
memo1.Lines.Add('*');
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
Randomize;
memo1:=TMemo.Create(Self);
memo1.Parent:=Self;
memo1.Width:=ClientWidth;
memo1.Height:=ClientHeight;
for i:=1 to 20 do TMyThread.Create(False);
end;
end. |