我有一个包含大量项目的列表视图。 我想删除一些同步的项目。 那可能吗? 我有大约100个线程同时访问ListView以删除它的项目。
例如:
procedure Thread1 ; stdcall;
var
item : TlistItem;
begin
//...
item.delete;
//...
end;
procedure Thread2 ; stdcall;
var
item : TlistItem;
begin
//...
item.delete;
//...
end;
/.... and so on
线程同时被触发(它们之间可能有1ms的差异)。 然后我收到很多错误和AccessViolations。 请帮忙。谢谢:))
答案 0 :(得分:3)
如果我是你,我会创建一个主应用程序线程和所有更新线程可以访问的数据结构,并且可以同步,并且只有主应用程序线程用于更新VCL控件,如果这是你需要的方式。