我有 2 个辅助线程在 C# Win 应用程序中运行。
第一个线程读取 Sql Server 配置文件消息并将其作为字符串添加到列表框以形成一种队列。另一个线程将这些跟踪消息一一发送,并相应地将它们从列表中删除。
现在我非常确定它会导致问题。确保只有单个线程能够访问两个函数之一的任何方法:
void AddItemThreadSafe(string item)
{
this.Invoke((MethodInvoker)delegate
{
listBoxCollection.Items.Add(item);
});
}
void RemoveItemThreadSafe()
{
this.Invoke((MethodInvoker)delegate
{
listBoxCollection.Items.RemoveAt(0);
});
}