Lade...
 

CX_OBJECT_MANAGER::SetTXNPriority

CX_OBJECT_MANAGER::SetTXNPriority

Beschreibung:

Über diese Methode kann die Transaktionspriorität für diesen Prozess gesetzt werden. Falls es zu einem Deadlock zwischen zwei Prozessen kommt, dann entscheidet der Server anhand der Transaktionspriorität, welcher der beiden Prozesse seine Transaktion abbrechen muss. Der Prozess mit der niedrigeren Priorität muss seine Transaktion abbrechen. Falls zwei Prozesse die gleiche Transaktionspriorität haben, dann wird ein zufälliger Prozess ausgewählt.

Jeder Prozess startet mit der standard-Transaktionspriorität von 0x8000 (=32.768).

Der gültige Wertebereich ist definiert von 0x0000 - 0xFFFF (=65.535).

Achtung: Die Priorität 0 hat eine besondere Bedeutung. Falls zwei Prozesse mit der Priorität von 0 in einen Deadlock kommen, dann werden die Transaktionen beider Prozesse abgebrochen (und beide Prozesse erhalten die Fehlermeldung). Dieses Verhalten ist als Hilfestellung fürs Debuggen von Deadlocks und nicht für den Produktiveinsatz gedacht.

Code-Beispiel:
0xC000 GetManager(OBJECT) Call(SetTXNPriority)

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_OBJECT_MANAGER  
  Top-1 INTEGER Die Transaktionspriorität im Wertebereich 0 - 0xFFFF
Stack(Out) Top -  
Funktionsaufruf: Call(SetTXNPriority)