System.SyncObjs.TSpinWait

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

TSpinWait = record

C++

struct DECLSPEC_DRECORD TSpinWait
{
private:
    static const System::Int8 YieldThreshold = System::Int8(0xa);
    static const System::Int8 Sleep1Threshold = System::Int8(0x14);
    static const System::Int8 Sleep0Threshold = System::Int8(0x5);
    int FCount;
    bool __fastcall GetNextSpinCycleWillYield();
public:
    void __fastcall Reset();
    void __fastcall SpinCycle();
    static void __fastcall SpinUntil(const System::DelphiInterface<System::Sysutils::TFunc__1<bool> > ACondition)/* overload */;
    static bool __fastcall SpinUntil(const System::DelphiInterface<System::Sysutils::TFunc__1<bool> > ACondition, unsigned Timeout)/* overload */;
    static bool __fastcall SpinUntil(const System::DelphiInterface<System::Sysutils::TFunc__1<bool> > ACondition, const System::Timespan::TTimeSpan &Timeout)/* overload */;
    __property int Count = {read=FCount};
    __property bool NextSpinCycleWillYield = {read=GetNextSpinCycleWillYield};
};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
record
struct
public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs System.SyncObjs

Beschreibung

Eine Instanz von TSpinWait ermöglicht dem aktuellen Thread, eine Anzahl von Spin-Zyklen abzuwarten.

Mit dem TSpinWait-Record kann ein Thread veranlasst werden, eine Anzahl von Spin-Zyklen abzuwarten. Im Gegensatz zu der Methode TThread.Sleep wird bei TSpinWait für den aktuellen Thread der verbleibende Abschnitt der Prozessorzeit nicht abgegeben.

Siehe auch

Code-Beispiele