问题:
我可以锁定此代码吗? IsMouseInside属性是否是线程安全的?
使用copy变量有意义吗?
PS:UI线程更新IsMouseInside。另一个线程有时会读取其值
public Class Test
{
private readonly object isMouseInsideLocker = new object();
private bool isMouseInside = false;
public bool IsMouseInside
{
get
{
bool copy;
lock (this.isMouseInsideLocker)
copy = this.isMouseInside;
return copy;
}
set
{
lock (this.isMouseInsideLocker)
this.isMouseInside = value;
}
}
private void lblProcessTime_MouseEnter(object sender, EventArgs e)
{
IsMouseInside = true;
}
private void lblProcessTime_MouseLeave(object sender, EventArgs e)
{
IsMouseInside = false;
}
}
最佳答案
不,你不能。
没有。只是return isMouseInside;
关于c# - 锁定在一个简单的属性内-会死锁吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7381764/