【发布时间】:2011-01-06 15:02:06
【问题描述】:
今天读到 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 更新有关。据我所知,这些操作应该使用线程同步,并由主线程执行。难道我的知识有缺陷?
【问题讨论】:
标签: delphi multithreading synchronize