java——利用生产者消费者模式思想实现简易版handler机制
Posted 高圈圈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java——利用生产者消费者模式思想实现简易版handler机制相关的知识,希望对你有一定的参考价值。
参考教程:http://www.sohu.com/a/237792762_659256
首先介绍每一个类:
1.Message:
这个类的作用是存储一个生产者生产出来的具体的消息,就类似链表队列中的一个节点,自行定义需要存储的内容。
code:消息要执行的具体动作代码
msg:消息内容
target:用来关联hadler,根本目的时为了使这几个类共享一个MessageQueue,这个很重要
2.MessageQueue:
这个类就是生产者和消费者线程需要共享的一个存储消息的队列,生产者将消息放入这个队列,消费者取出消息并处理。
内部实现是用了BlockingQueue,这个队列特别的地方就是出队和入队的时候是阻塞的,也就是说当队列中没有元素的时候出队这个动作会引起线程阻塞,直到有元素入队;同理入队也会因为队列满而引起线程阻塞,直到有元素出队。
这个类中定义了两个方法:next和enqueueMessage分别对应出对和入队。
需要考虑的就是如何将生产者和消费者多线程共享这个队列?
吃口饭再写,好饿
以上是关于java——利用生产者消费者模式思想实现简易版handler机制的主要内容,如果未能解决你的问题,请参考以下文章
java 多线程 22 :生产者/消费者模式 进阶 利用await()/signal()实现