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
Herror get_current_hthread_id(Hlong* HThreadID)
Herror T_get_current_hthread_id(Htuple* HThreadID)
void GetCurrentHthreadId(HTuple* HThreadID)
static Hlong 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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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