System.NeverSleepOnMMThreadContention

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

NeverSleepOnMMThreadContention: Boolean;

C++

extern DELPHI_PACKAGE bool NeverSleepOnMMThreadContention;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
variable public
System.pas
System.hpp
System System

Beschreibung

Legt das Verhalten des Speichermanagers bei einer Thread-Konkurrenz fest.

Der Speichermanager ist eine gemeinsam genutzte Ressource. Wenn viele Threads in der Anwendung gleichzeitig eine Speicheroperation auszuführen versuchen, muss ein Thread (oder mehrere) warten, bis eine anstehende Operation eines anderen Threads abgeschlossen ist, bevor der Thread fortgesetzt werden kann. Diese Situation wird Thread-Konkurrenz genannt. Wenn eine Thread-Konkurrenz im Speichermanager auftritt, wird als Standardverhalten zunächst die verbleibende Zeit im Zeitabschnitt des Threads freigegeben. Wenn die Ressource beim Eintritt des Threads in den nächsten Zeitabschnitt noch nicht verfügbar ist, ruft der Speichermanager vor dem nächsten Versuch die Betriebssystemprozedur Sleep auf.

Dieses Verhalten funktioniert gut bei Rechnern mit Einzel- oder dualen CPUs sowie wenn das Verhältnis der Anzahl der laufenden Threads zur Anzahl der CPUs relativ hoch (größer als 2:1) ist. In anderen Situationen kann eine bessere Performance erzielt werden, indem der Thread in eine Warteschlange gestellt wird, bis die Ressource verfügbar wird. Wenn NeverSleepOnMMThreadContention True ist, verwendet der Speichermanager diese alternative Strategie, wenn eine Thread-Konkurrenz auftritt. Der Vorgabewert für NeverSleepOnMMThreadContention ist False.

Siehe auch