Delphi里面的TCriticalSection对象的用法,如何使用锁?
Delphi里面的TCriticalSection对象是将包含它的对象给锁住。
比如:
TAsioDataBuffer = class
procedure Setstate(const Value: Integer); //数据锁
public
FDataLock, FSendLock: TCriticalSection;
Writedata, SendData, Data1, data2: TMemoryStream;
end;
var
MyAsioDataBuffer: TAsioDataBuffer;
begin
//这一句是将MyAsioDataBuffer对象锁住,而不是将Writedata锁住,只不过因为MyAsioDataBuffer对象包含了Writedata对象,所以Writedata也被锁住了,就是MyAsioDataBuffer里的所有东西都被锁住了。
MyAsioDataBuffer.FSendLock.Acquire;
end;
- 上一篇 »linux自旋锁、互斥锁、信号量
- 下一篇 »Java锁到底锁的到底是哪个对象?什么是锁对象?