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;

posted @ 2012-11-08 12:04  我为硬件而狂  阅读(2547)  评论(0编辑  收藏  举报