get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadIdget_current_hthread_id (Operator)

Name

get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadIdget_current_hthread_id — Gibt eine ID für den derzeit ausgeführten Thread zurück.

Signatur

get_current_hthread_id( : : : HThreadID)

Herror get_current_hthread_id(Hlong* HThreadID)

Herror T_get_current_hthread_id(Htuple* HThreadID)

void GetCurrentHthreadId(HTuple* HThreadID)

static Hlong HSystem::GetCurrentHthreadId()

static void HOperatorSet.GetCurrentHthreadId(out HTuple HThreadID)

static int HSystem.GetCurrentHthreadId()

def get_current_hthread_id() -> int

Beschreibung

get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadIdGetCurrentHthreadIdget_current_hthread_id gibt eine ID in HThreadIDHThreadIDHThreadIDHThreadIDHThreadIDhthread_id zurück, welche den derzeit ausgeführten Thread repräsentiert. Diese ID ist identisch zu den jeweiligen Thread IDs der Betriebssysteme (Windows Thread32, POSIX Threads unter UNIX Systemen) als auch zu der Thread ID welche die par_start Operation der HDevEngine zurückgibt. Sie kann verwendet werden, um mit interrupt_operatorinterrupt_operatorInterruptOperatorInterruptOperatorInterruptOperatorinterrupt_operator Operatoren abzubrechen, die in diesem Thread laufen.

Ausführungsinformationen

Parameter

HThreadIDHThreadIDHThreadIDHThreadIDHThreadIDhthread_id (output_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

ID, welche den derzeitigen Thread repräsentiert.

Beispiel (HDevelop)

global tuple HThreadID
get_current_hthread_id (HThreadID)
* call some slow operator...

* In a different thread
wait_seconds(2)
* Interrupt the long-running operator in the other thread
interrupt_operator (HThreadID, 'break')

Ergebnis

Wenn der derzeitige Thread ermittelt werden kann, liefert get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadIdGetCurrentHthreadIdget_current_hthread_id TRUE zurück. Andernfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

interrupt_operatorinterrupt_operatorInterruptOperatorInterruptOperatorInterruptOperatorinterrupt_operator

Siehe auch

interrupt_operatorinterrupt_operatorInterruptOperatorInterruptOperatorInterruptOperatorinterrupt_operator, set_operator_timeoutset_operator_timeoutSetOperatorTimeoutSetOperatorTimeoutSetOperatorTimeoutset_operator_timeout

Modul

Foundation