问题:
- 我可以死锁这段代码吗? IsMouseInside 属性是否线程安全?
- 使用复制变量是否有意义?
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;
