日期:2014-05-18  浏览次数:20718 次

在线程中操作list的问题
我新开了一个线程 ,使用 new Thread(new ThreadStart(do))来启动,在这个do中对新建了list进行操作,发现下列问题:比如我有a,b,c三个数据需要循环加入list,在循环使用list.add后,发现list里面的数据居然都是一样的。请问,这个是不是涉及到线程安全的问题,如果是,有没有安全的方法在线程中才做list?

------解决方案--------------------
加个锁
C# code

lock(this)
{
   list.Add(a);
   list.Add(b);
   list.Add(c);
}

------解决方案--------------------
list不是线程安全的 添加时要LOCK