A script language of step-sharing 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.
mq = Import('mq');
Subscribe a topic message.
mq.subscribe(qname);
Input:
Return value:
Error:
Unsubscribe a topic.
mq.unsubscribe(qname);
Input:
Return value:
Error:
Send message to a specified queue.
mq.send(qname, msg, asTopic);
Input:
Return value:
Error:
mq.recv(qname, timeout);
Input:
Return value:
Error:
//file a.mln
mq = Import('mq');
mq.send('test', 'hello');
//b.mln
mq = Import('mq');
sys = Import('sys');
msg = mq.recv('test');
sys.print(msg);
$ melang a.mln b.mln
The output is:
hello