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;

原文地址:https://www.cnblogs.com/AirLoveHardware/p/2760143.html