A script language of preemptive scheduling coroutine in single thread
This document introduces a set of functions about message queue. Message queue is only working in a coroutine group in the same thread.
There are two kinds of message: queue message and topic message.
Melang supports many coroutines to listen the same queue. If message is a queue message, only one coroutine can get this message. If is topic message, every subscribed coroutine can receive this message.
Subscribe a topic message.
@mln_msgTopicSubscribe(qname);
Input:
Return value:
Error:
Unsubscribe a topic.
@mln_msgTopicUnsubscribe(qname);
Input:
Return value:
Error:
Send message to a specified queue.
@mln_msgQueueSend(qname, msg, asTopic);
Input:
Return value:
Error:
@smln_msgQueueRecv(qname, timeout);
Input:
Return value:
Error:
//file a.mln
@mln_msgQueueSend('test', 'hello');
//b.mln
msg = @mln_msgQueueRecv('test');
@mln_print(msg);
$ melang a.mln b.mln
The output is:
hello