API:System.SyncObjs.TSpinLock

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

TSpinLock = record

C++

struct DECLSPEC_DRECORD TSpinLock
{
private:
    static const unsigned ThreadTrackingDisabled = unsigned(0x80000000);
    static const int MaxWaitingThreads = int(0x7ffffffe);
    static const int WaitingThreadMask = int(0x7ffffffe);
    static const System::Int8 AnonymouslyOwned = System::Int8(0x1);
    static const System::Int8 LockAvailable = System::Int8(0x0);
    int FLock;
    bool __fastcall InternalTryEnter(unsigned Timeout);
    bool __fastcall GetIsLocked();
    bool __fastcall GetIsLockedByCurrentThread();
    bool __fastcall GetIsThreadTrackingEnabled();
    void __fastcall RemoveWaiter();
public:
    __fastcall TSpinLock(bool EnableThreadTracking);
    void __fastcall Enter();
    void __fastcall Exit(bool PublishNow = true);
    bool __fastcall TryEnter()/* overload */;
    bool __fastcall TryEnter(unsigned Timeout)/* overload */;
    bool __fastcall TryEnter(const System::Timespan::TTimeSpan &Timeout)/* overload */;
    __property bool IsLocked = {read=GetIsLocked};
    __property bool IsLockedByCurrentThread = {read=GetIsLockedByCurrentThread};
    __property bool IsThreadTrackingEnabled = {read=GetIsThreadTrackingEnabled};
    TSpinLock() {}
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs System.SyncObjs

Description

Embarcadero Technologies does not currently have any additional information.