Кража из статьи Уве Раабе Синхронизация и очередь с параметрами Я делаю это:
if GetCurrentThreadID = MainThreadID then
FDataLogger(IntToStr(lNrItems) + ' elements:')
else
TThread.Synchronize(nil,
procedure
begin
FDataLogger(IntToStr(lNrItems) + ' elements:');
end);
Но если я просто
TThread.Synchronize(nil,
procedure
begin
FDataLogger(IntToStr(lNrItems) + ' elements:');
end);
, это, кажется, работает как хорошо.
Так как первая конструкция приводит к большему количеству кода, действительно ли много выгод от различения основного потока?