【发布时间】:2013-10-23 06:37:25
【问题描述】:
为什么这个锁不起作用?
CheckActivity 是从鼠标/键盘 Windows 挂钩生成的。任何提示如何使这个锁工作?
private void CheckActivity(KeyboardMouseKey k)
{
lock(this)
{
if (_map)
{
_map = false;
if (openFileDialogSelectAudio.ShowDialog() == DialogResult.OK)
MapSound(k, openFileDialogSelectAudio.FileName);
}
else
{
///play
foreach (var m in _mappings.Where(m => m.Key.Equals(k)))
m.Value.Play();
}
UpdateGui();
}
}
【问题讨论】:
-
不工作是什么意思?是否存在编译器错误、运行时异常、意外输出或其他意外行为?
标签: c# multithreading user-interface thread-safety