参考教程:http://www.sohu.com/a/237792762_659256
首先介绍每一个类:
1.Message:
这个类的作用是存储一个生产者生产出来的具体的消息,就类似链表队列中的一个节点,自行定义需要存储的内容。
code:消息要执行的具体动作代码
msg:消息内容
target:用来关联hadler,根本目的时为了使这几个类共享一个MessageQueue,这个很重要
2.MessageQueue:
这个类就是生产者和消费者线程需要共享的一个存储消息的队列,生产者将消息放入这个队列,消费者取出消息并处理。
内部实现是用了BlockingQueue,这个队列特别的地方就是出队和入队的时候是阻塞的,也就是说当队列中没有元素的时候出队这个动作会引起线程阻塞,直到有元素入队;同理入队也会因为队列满而引起线程阻塞,直到有元素出队。
这个类中定义了两个方法:next和enqueueMessage分别对应出对和入队。
需要考虑的就是如何将生产者和消费者多线程共享这个队列?
吃口饭再写,好饿
原文地址:https://www.cnblogs.com/gaoquanquan/p/9936688.html
时间: 2024-10-10 02:11:28