clear_message_queueT_clear_message_queueClearMessageQueueClearMessageQueueclear_message_queue清除消息队列(算子)

名称

clear_message_queueT_clear_message_queueClearMessageQueueClearMessageQueueclear_message_queue — 关闭消息队列句柄并释放所有相关资源。

签名

clear_message_queue( : : QueueHandle : )

Herror T_clear_message_queue(const Htuple QueueHandle)

void ClearMessageQueue(const HTuple& QueueHandle)

static void HMessageQueue::ClearMessageQueue(const HMessageQueueArray& QueueHandle)

void HMessageQueue::ClearMessageQueue() const

static void HOperatorSet.ClearMessageQueue(HTuple queueHandle)

static void HMessageQueue.ClearMessageQueue(HMessageQueue[] queueHandle)

void HMessageQueue.ClearMessageQueue()

def clear_message_queue(queue_handle: MaybeSequence[HHandle]) -> None

描述

clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueueclear_message_queue 关闭先前通过 create_message_queuecreate_message_queueCreateMessageQueueCreateMessageQueueCreateMessageQueuecreate_message_queue 打开的消息队列句柄 QueueHandleQueueHandleQueueHandleQueueHandlequeueHandlequeue_handle。消息队列占用的所有资源(特别是队列中存储的消息数据)都将被释放。

可通过单次调用 clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueueclear_message_queue 关闭多个消息队列句柄,将其作为元组传递给 QueueHandleQueueHandleQueueHandleQueueHandlequeueHandlequeue_handle 参数。

注意

在使用 clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueueclear_message_queue 使句柄失效后,该句柄不得再次使用。使用无效句柄将导致行为未定义。当句柄被其他线程并发使用时,不得调用 clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueueclear_message_queue 算子,否则将导致行为未定义。

执行信息

此算子修改后续输入参数的状态:

在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。

参数

QueueHandleQueueHandleQueueHandleQueueHandlequeueHandlequeue_handle (输入控制,状态被修改)  message_queue(-array) HMessageQueue, HTupleMaybeSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)

待关闭的消息队列句柄。

元素数量: QueueHandle >= 1

限制: QueueHandle != 0

示例(HDevelop)

create_message_queue (ProducerQueue)
create_message_queue (ResultQueue)
* ...

结果

如果传递给算子的消息队列句柄有效, clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueueclear_message_queue 返回 2 (H_MSG_TRUE)。否则将抛出异常。如果传递的是句柄元组且其中部分句柄无效,clear_message_queueclear_message_queueClearMessageQueueClearMessageQueueClearMessageQueueclear_message_queue 会尝试清除元组中尽可能多的句柄,然后再报告错误。

可能的前趋

create_message_queuecreate_message_queueCreateMessageQueueCreateMessageQueueCreateMessageQueuecreate_message_queue, set_message_queue_paramset_message_queue_paramSetMessageQueueParamSetMessageQueueParamSetMessageQueueParamset_message_queue_param

另见

create_message_queuecreate_message_queueCreateMessageQueueCreateMessageQueueCreateMessageQueuecreate_message_queue, enqueue_messageenqueue_messageEnqueueMessageEnqueueMessageEnqueueMessageenqueue_message, dequeue_messagedequeue_messageDequeueMessageDequeueMessageDequeueMessagedequeue_message, set_message_queue_paramset_message_queue_paramSetMessageQueueParamSetMessageQueueParamSetMessageQueueParamset_message_queue_param, get_message_queue_paramget_message_queue_paramGetMessageQueueParamGetMessageQueueParamGetMessageQueueParamget_message_queue_param, create_messagecreate_messageCreateMessageCreateMessageCreateMessagecreate_message, clear_messageclear_messageClearMessageClearMessageClearMessageclear_message, set_message_tupleset_message_tupleSetMessageTupleSetMessageTupleSetMessageTupleset_message_tuple, get_message_tupleget_message_tupleGetMessageTupleGetMessageTupleGetMessageTupleget_message_tuple, set_message_objset_message_objSetMessageObjSetMessageObjSetMessageObjset_message_obj, get_message_objget_message_objGetMessageObjGetMessageObjGetMessageObjget_message_obj

模块

基础