【发布时间】:2010-08-12 07:53:16
【问题描述】:
我在here 中询问了有关锁定的问题,人们回答说我的锁定实现没有问题。但我发现了问题。这是相同的锁实现,我得到了奇怪的结果。我希望看到数字从 1 开始,但它从 5 开始。示例如下。
class Program
{
static object locker = new object();
static void Main(string[] args)
{
for (int j = 0; j < 100; j++)
{
(new Thread(new ParameterizedThreadStart(dostuff))).Start(j);
}
Console.ReadKey();
}
static void dostuff(dynamic input)
{
lock (locker)
{
Console.WriteLine(input);
}
}
}
【问题讨论】:
标签: c# .net multithreading locking