繁体   English   中英

多线程和列表框

[英]Multi-Threading and Listbox

我想做的是获取和删除具有多个线程的列表框中的第一项,尽管我需要防止线程使用同一项。

例如:线程1和2都抢占1,并尝试删除1,但是在此过程中,两个线程都使用相同的变量,并且由于我正在使用removeat(0),所以删除了1和2。

防爆列表框

1个

2

我将如何管理线程,以免它们使用/删除错误的变量?

您可以在列表中搜索特定项目并将其删除.......。

 foreach (string item in toRemove)
 {
   listbox.Remove(item);
 }

要么.........

如果您要为其分配数据源,则再添加一个UNIQUE列,例如Primary Key,并在该唯一列的基础上,您可以从LISTBOX中删除项目

您可以将线程锁定在引用(可能是列表)上,以用于

  1. 寻找物品
  2. 如果找到该项目,则将其删除

高温超导

访问列表框项目时使用锁定。 使用同一对象锁定所有位置。

http://msdn.microsoft.com/zh-CN/library/c5kehkcz%28v=vs.80%29.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM