当多任务执行时,使用list需要考虑线程的安全性。一直以为是安全的。在同事的点拨下,知道了问题。
代码还是要多写,不写是不知道的。
我的解决办法都是百度老生常谈的。加锁搞定了。
private static object Locker = new object();
lock(Locker)
{
}
或者考虑c# 的多并发线程安全集合
System.Collections.Concurrent
当多任务执行时,使用list需要考虑线程的安全性。一直以为是安全的。在同事的点拨下,知道了问题。
代码还是要多写,不写是不知道的。
我的解决办法都是百度老生常谈的。加锁搞定了。
private static object Locker = new object();
lock(Locker)
{
}
或者考虑c# 的多并发线程安全集合
System.Collections.Concurrent