get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadId (Operator)

Name

get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadId — 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()

Beschreibung

get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadIdGetCurrentHthreadId gibt eine ID in HThreadIDHThreadIDHThreadIDHThreadIDHThreadID 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_operatorInterruptOperatorInterruptOperatorInterruptOperator Operatoren abzubrechen, die in diesem Thread laufen.

Ausführungsinformationen

Parameter

HThreadIDHThreadIDHThreadIDHThreadIDHThreadID (output_control)  integer HTupleHTupleHtuple (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_idGetCurrentHthreadIdGetCurrentHthreadIdGetCurrentHthreadId 2 (H_MSG_TRUE) zurück. Andernfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

interrupt_operatorinterrupt_operatorInterruptOperatorInterruptOperatorInterruptOperator

Siehe auch

interrupt_operatorinterrupt_operatorInterruptOperatorInterruptOperatorInterruptOperator, set_operator_timeoutset_operator_timeoutSetOperatorTimeoutSetOperatorTimeoutSetOperatorTimeout

Modul

Foundation