多线程和列表框

时间:2013-02-22 04:26:35

标签: c# multithreading

我要做的是获取并删除包含多个线程的列表框中的第一个项目,但我需要保持线程不使用相同的项目。

Ex:线程1和2都抓取1,并尝试删除1,但在此过程中,两个线程都使用相同的变量,并且因为我使用了removeat(0)而删除了1和2。

Ex的列表框

1

2

我如何管理线程,以便他们不使用/删除错误的变量?

3 个答案:

答案 0 :(得分:0)

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

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

OR .........

如果要为其分配数据源,则再添加一个像主键一样的UNIQUE列,并根据该唯一列从LISTBOX中删除项目

答案 1 :(得分:0)

您可以锁定

整个过程的引用(可能是列表?)上的线程
  1. 查找项目
  2. 删除项目(如果找到)
  3. HTH

答案 2 :(得分:0)

访问列表框项目时使用锁定。使用相同的对象进行锁定。

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