杜佩内:return statement in a lock procedure: inside or outside我可以把一个return语句锁
标题是有点误导。我知道你可以做到,但我想知道性能影响。
考虑这两个代码块。 (没有错误处理)
此块具有return
外锁
public DownloadFile Dequeue()
{
DownloadFile toReturn = null;
lock (QueueModifierLockObject)
{
toReturn = queue[0];
queue.RemoveAt(0);
}
return toReturn;
}
此块具有return
声明内锁
public DownloadFile Dequeue()
{
lock (QueueModifierLockObject)
{
DownloadFile toReturn = queue[0];
queue.RemoveAt(0);
return toReturn;
}
}
的有代码中的任何差异?我明白性能差异(如果有的话)会很小,但我特别想知道lock
获得发布的顺序是否会有所不同。
*当然*这已被覆盖之前? – annakata 2009-08-31 20:22:14
我找不到结果,因为我之前没有使用正确的搜索字词。是的,这是一个骗局。 – DevinB 2009-08-31 20:38:38