create_eventT_create_eventCreateEventCreateEventcreate_event (Operator)
Name
create_eventT_create_eventCreateEventCreateEventcreate_event
— Create an event synchronization object.
Signature
void CreateEvent(const HTuple& AttribName, const HTuple& AttribValue, HTuple* EventHandle)
void HEvent::HEvent(const HTuple& AttribName, const HTuple& AttribValue)
void HEvent::HEvent(const HString& AttribName, const HString& AttribValue)
void HEvent::HEvent(const char* AttribName, const char* AttribValue)
void HEvent::HEvent(const wchar_t* AttribName, const wchar_t* AttribValue)
(Windows only)
void HEvent::CreateEvent(const HTuple& AttribName, const HTuple& AttribValue)
void HEvent::CreateEvent(const HString& AttribName, const HString& AttribValue)
void HEvent::CreateEvent(const char* AttribName, const char* AttribValue)
void HEvent::CreateEvent(const wchar_t* AttribName, const wchar_t* AttribValue)
(Windows only)
def create_event(attrib_name: MaybeSequence[Union[int, float, str]], attrib_value: MaybeSequence[Union[int, float, str]]) -> HHandle
Description
An event is a prelocked mutual exclusion that does not belong to a
thread, i.e., it can be signaled by a thread different from the locking
thread. This understanding is, e.g., close to the definition of an event in
WIN32-API or a semaphore with count 0 in POSIX threads.
create_eventcreate_eventCreateEventCreateEventCreateEventcreate_event
allocates and initializes the event object according
to the attributes specified in AttribNameAttribNameAttribNameAttribNameattribNameattrib_name
and AttribValueAttribValueAttribValueAttribValueattribValueattrib_value
.
AttribNameAttribNameAttribNameAttribNameattribNameattrib_name
specifies the attribute class and AttribValueAttribValueAttribValueAttribValueattribValueattrib_value
the kind of the event. The description beneath lists all mutex kinds
supported by following classes:
- ''""""""""""
empty string sets the default attributes.
- 'type'"type""type""type""type""type"
-
specifies what happens if a thread waits on a signal to
an event:
- 'sleep'"sleep""sleep""sleep""sleep""sleep"
simply suspends the calling thread (default).
- 'spin'"spin""spin""spin""spin""spin"
a fast event implementation that waits busy
on a signal. This type is non recursive.
Execution Information
- Multithreading type: independent (runs in parallel even with exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
AttribNameAttribNameAttribNameAttribNameattribNameattrib_name
(input_control) attribute.name(-array) →
HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
Mutex attribute.
Default value: []
List of values: 'type'"type""type""type""type""type"
AttribValueAttribValueAttribValueAttribValueattribValueattrib_value
(input_control) attribute.value(-array) →
HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
Mutex attribute value.
Number of elements: AttribValue == AttribName
Default value: []
List of values: 'sleep'"sleep""sleep""sleep""sleep""sleep", 'spin'"spin""spin""spin""spin""spin"
EventHandleEventHandleEventHandleEventHandleeventHandleevent_handle
(output_control) event →
HEvent, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Event synchronization object.
Result
create_eventcreate_eventCreateEventCreateEventCreateEventcreate_event
returns TRUE if all parameters are correct.
If necessary, an exception is raised.
Possible Successors
wait_eventwait_eventWaitEventWaitEventWaitEventwait_event
,
signal_eventsignal_eventSignalEventSignalEventSignalEventsignal_event
,
clear_eventclear_eventClearEventClearEventClearEventclear_event
See also
clear_eventclear_eventClearEventClearEventClearEventclear_event
Module
Foundation