create_message_queue
— Erzeugen einer leeren Warteschlange für Nachrichten.
create_message_queue( : : : QueueHandle)
create_message_queue
erzeugt eine leere Warteschlange für
Nachrichtenobjekte. QueueHandle
referenziert das erzeugte
Warteschlangenobjekt und wird dazu verwendet, um die Warteschlange
in den nachfolgenden Operatoraufrufen identifizieren zu können.
Warteschlangen sind FIFO-Puffer, mit welchen sich beliebige
Datensätze zwischen unterschiedlichen Threads austauschen
lassen. Der Zugriff auf eine Warteschlange ist intern
synchronisiert, so dass vom Benutzer keine zusätzlichen
Synchronisationsmaßnahmen notwendig sind. Die Datensätze wandern
durch die Warteschlange in sogenannten Nachrichten
(vergl. create_message
).
Mehrere Erzeugerthreads können Nachrichten gleichzeitig über
enqueue_message
anhängen, während mehrere Verbraucherthreads
über dequeue_message
gleichzeitig Nachrichten aus diesem
Datenstrom empfangen können. Dabei können mehrere Nachrichten mit
einem einzigen Aufruf von enqueue_message
eingereiht
werden. In diesem Fall wandern die Nachrichten gemeinsam durch die
Warteschlange und werden mit einem einzigen Aufruf von
dequeue_message
empfangen.
enqueue_message
kopiert die Nachricht in die Warteschlange,
weshalb das ursprüngliche Nachrichtenobjekt danach sofort weiterverwendet
werden kann, ohne das kopierte Nachrichtenobjekt zu beeinflussen.
QueueHandle
(output_control) message_queue →
(handle)
Warteschlangenobjekt.
Parameteranzahl: QueueHandle == 1
Zusicherung: QueueHandle != 0
create_message_queue (ProducerQueue) create_message_queue (ResultQueue) * ...
create_message_queue
liefert den Wert 2 (H_MSG_TRUE), sofern kein
Allokierungsfehler auftritt.
enqueue_message
,
dequeue_message
clear_message_queue
,
enqueue_message
,
dequeue_message
,
set_message_queue_param
,
get_message_queue_param
,
create_message
,
clear_message
,
set_message_tuple
,
get_message_tuple
,
set_message_obj
,
get_message_obj
Foundation