-7

请看下面的代码。

我有两个q。

使用这种类型的对象锁定有什么好处?

第二个问题,我可以在代码仍在//--------这个区域时操作缓冲区吗?

private list<byte> buffer;
.
.
.

lock(buffer)
{
  //--------
}
4

2 回答 2

1

锁用于防止在多线程环境中对对象的多次访问。在实践中,锁是 .NET 框架中 Monitor 类的实现

于 2013-03-06T13:50:44.720 回答
1

使用这种类型的对象锁定有什么好处?

为什么特定类型的锁对象会有优势?如手册所述:

最佳实践是定义一个私有对象来锁定,或者一个私有静态对象变量来保护所有实例共有的数据。


我可以在代码仍在 //-------- 这个区域时操作缓冲区吗?

是的,从同一线程lock()发出声明。其他线程将不得不在那里等待。

于 2013-03-06T13:56:37.557 回答