вот примерно так
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Contnrs;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type TMyThread=class(TThread)
procedure Execute;override;
public
procedure TimeUpdate ;
end;
var
Form1: TForm1;
ThreadList:TObjectList;
implementation
{$R *.dfm}
procedure TMyThread.TimeUpdate ;
begin
Form1.Label1.Caption :=TimeToStr(Time);
end;
Procedure TMyThread.Execute ;
begin
while not self.Terminated do
begin
Synchronize(TimeUpdate);
Application.ProcessMessages ;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var t:TMyThread;
begin
t:= TMyThread.Create(true);
t.Resume ;
ThreadList.Add(t) ;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ThreadList:=TObjectList.Create(true);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ThreadList.Destroy ;
end;
end.
проблема такая добавляем штук 5 потоков по кнопке ,
всё работает, однако в диспетчере процессов показывает загрузку ЦП 98%
ничего не лагает вроде
почему такая штука, где косякъ?
в доках написано , что не рекомендуется больше вроде 14 потоков на однопроцессорной системе,
но ето ж гонево
![](/Forum/Images/lol.gif)
сколько хочу столько и ворочу,раньше делал не было таких проблем