Заранее извиняюсь, но этот вопрос упоминался в другой моей теме в разделе сетей. Просто там этот вопрос не в тему поэтому решил повтрить его тут.
у меня проблема такого рода: при создании потока он вешает приложение. загрузка цп 100%. в чем может быть проблема. читал много инфы по потокам но ничего не нашел.
вот пример кода
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | unit Unit3;
interface
uses
Classes, sysutils;
type
mythread = class(TThread)
name:string;
i:longint;
procedure showmsg1;
procedure showmsg2;
private
protected
procedure Execute; override;
end;
implementation
uses unit1;
procedure mythread.showmsg1;
begin
form1.Memo1.Lines.Append(inttostr(i));
end;
procedure mythread.showmsg2;
begin
form1.Memo2.Lines.Append(inttostr(i));
end;
procedure mythread.Execute;
begin
while not terminated do begin
inc (i);
if name='1' then Synchronize(showmsg1);
if name='2' then Synchronize(showmsg2);
if i>10000 then terminate;
end;
end;
end.
а также часть кода из модуля Unit1
Код:
t1:=mythread.Create(false);
t1.name:='1';
t2:=mythread.Create(false);
t2.name:='2';
|
Admin: Пользуемся тегами!