1 实现一个简易的mq
实现一个简单的消息队列(MQ)是一个挑战性的任务,因为需要考虑多种方面,如可靠性、吞吐量、延迟等。但我可以为你提供一个非常基本的MQ实现示例。
这里我们会使用Python创建一个简单的MQ。
- 消息队列:
import queue
class SimpleMQ:
def __init__(self):
self.queue = queue.Queue()
def send(self, message):
self.queue.put(message)
def receive(self):
if not self.queue.empty():
return self.queue.get()
return None
- 生产者:
import time
def producer(mq):
count = 0
while count < 10:
mq.send(f"Message {
count}")
print(f"Produced: Message {
count}")
count += 1
time.sleep(1)
- 消费者:
import time
def consumer(mq):
while True:
msg = mq.receive()
if msg:
print(f"Consumed: {
msg}")
time.sleep(2)
- 主程序:
import threading
if __name__ == "__main__":
mq = SimpleMQ()
producer_thread = threading.Thread(target=producer, args=(mq,))
consumer_thread = threading.Thread(target=consumer, args=(mq,))
producer_thread.start()
consumer_thread.start()
producer_thread.join()
consumer_thread.join()
这只是一个非常基础的MQ实现,仅供演示。在实际应用中,还需要考虑多种高级功能,如消息持久化、消息确认、消息重试、分布式部署、多消费者并发处理等。