lock
{
Dispatcher.BeginInvoke(DispatcherPriority.Send, (SendOrPostCallback)delegate(object o)
{
DoSomething();
}
}
是否仍然获取锁直到Dispatcher完成执行或发送DoSomething()后不久发布;执行Dispatcher?
答案 0 :(得分:2)
lock {}
部分下的代码完成其执行。 Dispatcher.BeginInvoke
完成其执行。 Dispatcher.BeginInvoke
异步执行时,这意味着锁几乎就会被释放"立即" - DoSomething()
可能会在锁已被释放的那一刻开始。