get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadIdget_current_hthread_id (Operator)
Name
get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadIdget_current_hthread_id
— Return the HALCON thread ID of the current thread.
Signature
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
Description
get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadIdGetCurrentHthreadIdget_current_hthread_id
returns a thread ID that represents the
currently running thread in HThreadIDHThreadIDHThreadIDHThreadIDHThreadIDhthread_id
.
This ID is identical to the windows thread ID or the POSIX thread ID on UNIX
platforms and is also returned by the par_start operation of the HDevEngine.
It can later be used to interrupt operators that are executed
in this thread using interrupt_operatorinterrupt_operatorInterruptOperatorInterruptOperatorInterruptOperatorinterrupt_operator
.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
HThreadIDHThreadIDHThreadIDHThreadIDHThreadIDhthread_id
(output_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
ID representing the current thread.
Example (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')
Result
If the current thread can be determined, get_current_hthread_idget_current_hthread_idGetCurrentHthreadIdGetCurrentHthreadIdGetCurrentHthreadIdget_current_hthread_id
returns 2 (
H_MSG_TRUE)
. Otherwise an exception is raised.
Possible Successors
interrupt_operatorinterrupt_operatorInterruptOperatorInterruptOperatorInterruptOperatorinterrupt_operator
See also
interrupt_operatorinterrupt_operatorInterruptOperatorInterruptOperatorInterruptOperatorinterrupt_operator
,
set_operator_timeoutset_operator_timeoutSetOperatorTimeoutSetOperatorTimeoutSetOperatorTimeoutset_operator_timeout
Module
Foundation