【发布时间】:2010-05-20 17:21:07
【问题描述】:
为什么这个锁测试不起作用?它在控制台下方抛出异常。写该集合已修改....
static List<string> staticVar = new List<string>();
static void Main(string[] args)
{
Action<IEnumerable<int>> assyncMethod = enumerator =>
{
lock (staticVar)
foreach (int item in enumerator)
staticVar.Add(item.ToString());
};
assyncMethod.BeginInvoke(Enumerable.Range(0, 500000), null, null);
Thread.Sleep(100);
Console.Write(staticVar.Count());
foreach (string item in staticVar)
{
}
}
【问题讨论】:
标签: c# multithreading locking