[英]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中删除项目
您可以将线程锁定在引用(可能是列表)上,以用于
高温超导
访问列表框项目时使用锁定。 使用同一对象锁定所有位置。
http://msdn.microsoft.com/zh-CN/library/c5kehkcz%28v=vs.80%29.aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.