API:System.SyncObjs.TLightweightMREW

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

  TLightweightMREW = record
{$IFDEF MACOS}
  private
    class var CalendarClock: clock_serv_t;
{$ENDIF MACOS}
  private
{$IFDEF MSWINDOWS}
    FNativeRW: SRWLOCK;
{$ENDIF MSWINDOWS}
{$IFDEF POSIX}
    FNativeRW: pthread_rwlock_t;
    procedure GetPosixEndTime(var EndTime: timespec; TimeOut: Cardinal); inline;
{$ENDIF POSIX}
  public
{$IFDEF MACOS}
    class constructor Create;
    class destructor Destroy;
{$ENDIF MACOS}
    [HPPGEN('TLightweightMREW() { _op_Initialize(*this); }' + #13#10#13#10#9 +
            'static void __fastcall _op_Initialize(/* out */ TLightweightMREW &Dest)')]
    class operator Initialize(out Dest: TLightweightMREW);
    procedure BeginRead;
    function TryBeginRead: Boolean; {$IF defined(LINUX) or defined(ANDROID)}overload;{$ENDIF}
{$IF defined(LINUX) or defined(ANDROID)}
    function TryBeginRead(Timeout: Cardinal): Boolean; overload;
{$ENDIF LINUX or ANDROID}
    procedure EndRead;
    procedure BeginWrite;
    function TryBeginWrite: Boolean; {$IF defined(LINUX) or defined(ANDROID)}overload;{$ENDIF}
{$IF defined(LINUX) or defined(ANDROID)}
    function TryBeginWrite(Timeout: Cardinal): Boolean; overload;
{$ENDIF LINUX or ANDROID}
    procedure EndWrite;
  end;

C++

struct DECLSPEC_DRECORD TLightweightMREW
{
private:
    _RTL_SRWLOCK FNativeRW;
public:
    TLightweightMREW() { _op_Initialize(*this); }
        static void __fastcall _op_Initialize(/* out */ TLightweightMREW &Dest);
    void __fastcall BeginRead();
    bool __fastcall TryBeginRead();
    void __fastcall EndRead();
    void __fastcall BeginWrite();
    bool __fastcall TryBeginWrite();
    void __fastcall EndWrite();
};

プロパティ

種類 可視性 ソース ユニット
record
struct
public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs System.SyncObjs

説明

このトピックには現在ドキュメントが存在しません。「ノート」を利用してこのトピックの改良について話しあうことができます。