【发布时间】:2010-08-11 20:38:48
【问题描述】:
这个锁有问题,但我不明白那是什么。我强烈怀疑下面的示例没有很好地锁定。那么可能是什么问题呢?
class example
{
object locker = new object();
void start()
{
for (int i = 0; i < 1000; i++)
{
(new Thread(dostuff)).Start();
}
}
void dostuff()
{
lock (locker)
{
//dosomething
}
}
}
【问题讨论】:
-
您需要多解释一下您正在尝试做什么以及为什么这没有达到您的预期。一方面 - 您是否希望所有 1000 个线程都作用于同一个对象(这对于 1000 个线程来说可能没有意义),还是它们应该作用于可能不同的对象?
-
线程在同一个对象上工作
-
为什么问题投票结束?
标签: c# .net multithreading locking