-
TUser © (21.02.05 16:40) [0]Надо ли его использовать во Lazarus'е? Я когда-то пробовал - все нормально работало и без синхронизации, а вот в версии 1.9.6 появилась поддержка Synchronize'а
ftp://ftp.freepascal.org/pub/fpc/beta/whatsnew.txt -
Его и в Delphi можно не использовать, это зависит от ситуации. Далеко не каждый код без синхронизации с основным потоком приведет к ошибкам
-
TUser © (28.02.05 11:54) [2]Мой код требовал синхронизации (если бы его компилировать в Delphi)
procedure TMyThread.Execute;
begin
while not Terminated do begin
write(' -- >');
readln (FTemp);
DOWORK; // Synchronize(DOWORK);
if FTemp <> '' then
writeln(FTemp);
end;
end;
procedure TMyThread.DOWORK;
begin
FTemp:=LowerCase(FTemp);
if FTemp = 'exit' then
Application.Terminate
else
if FTemp = 'show' then
Form1.Show
else
if FTemp = 'hide' then
Form1.Hide;
if (FTemp = 'help') or
(FTemp = '?') then
FTemp:='This is a thread demo'
else FTemp:='';
end;