IMO Самая мощная и наименее известная функция многопоточности, представленная после Delphi 7, - это метод TThread.Queue .Например, вместо
Synchronize(
procedure
begin
Form1.Memo1.Lines.Add(‘Begin Execution’);
end);
можно использовать
Queue(
procedure
begin
Form1.Memo1.Lines.Add(‘Begin Execution’);
end);
TThread.Queue - альтернатива TThread.Synchronize , которая позволяетрабочий поток, чтобы продолжить без ожидания (с вызовом Synchronize рабочий поток ожидает, пока основной поток не завершит выполнение синхронизированного кода) - действительно хорошая функция, которая может быть использована в качестве замены для пользовательской обработки сообщений с PostMessage .