请看下面的代码。
我有两个q。
使用这种类型的对象锁定有什么好处?
第二个问题,我可以在代码仍在//--------这个区域时操作缓冲区吗?
private list<byte> buffer;
.
.
.
lock(buffer)
{
//--------
}
锁用于防止在多线程环境中对对象的多次访问。在实践中,锁是 .NET 框架中 Monitor 类的实现
使用这种类型的对象锁定有什么好处?
为什么特定类型的锁对象会有优势?如手册所述:
最佳实践是定义一个私有对象来锁定,或者一个私有静态对象变量来保护所有实例共有的数据。
我可以在代码仍在 //-------- 这个区域时操作缓冲区吗?
是的,从同一线程lock()
发出声明。其他线程将不得不在那里等待。