当我今天阅读 Zarko Gajic 的文章时,我感到很困惑:
《多线程 Delphi 数据库查询》
文章网址:http ://delphi.about.com/od/kbthread/a/query_threading.htm
源代码: http ://delphi.about.com/library/weekly/code/adothreading.zip
有了“TCalcThread.Execute”程序的代码,为什么下面的代码不需要放在Synchronize()方法中运行?
Line 173: ListBox.Clear;
Line 179: ListBox.Items.Insert(......);
Line 188: ListBox.Items.Add('*---------*');
Line 195: TicksLabel.Caption := 'Ticks: ' + IntToStr(ticks);
这些代码是对 VCL 组件的操作,与 UI 更新有关。据我所知,这些操作应该使用线程同步,并由主线程执行。难道我的知识有缺陷?