Nó làm cho tôi bối rối khi tôi đọc bài viết bởi Žarko Gajic hôm nay:Lẫn lộn về vấn đề đồng bộ hóa thread
"Cơ sở dữ liệu Multithreaded Delphi truy vấn"
Điều URL: http://delphi.about.com/od/kbthread/a/query_threading.htm
Sourecode: http://delphi.about.com/library/weekly/code/adothreading.zip
Với mã của thủ tục "TCalcThread.Execute", Tại sao mã sau không cần phải được đặt trong phương thức Synchronize() để ru n?
Line 173: ListBox.Clear;
Line 179: ListBox.Items.Insert(......);
Line 188: ListBox.Items.Add('*---------*');
Line 195: TicksLabel.Caption := 'Ticks: ' + IntToStr(ticks);
Các mã này đang vận hành các thành phần VCL và có liên quan đến cập nhật giao diện người dùng. Theo hiểu biết của tôi, các hoạt động này nên được sử dụng đồng bộ hóa luồng và được thực thi bởi luồng chính. Kiến thức của tôi có lỗ hổng không?