java——利用生产者消费者模式思想实现简易版handler机制

参考教程:http://www.sohu.com/a/237792762_659256

首先介绍每一个类:

1.Message:

  这个类的作用是存储一个生产者生产出来的具体的消息,就类似链表队列中的一个节点,自行定义需要存储的内容。

  code:消息要执行的具体动作代码

  msg:消息内容

  target:用来关联hadler,根本目的时为了使这几个类共享一个MessageQueue,这个很重要

2.MessageQueue:

  这个类就是生产者和消费者线程需要共享的一个存储消息的队列,生产者将消息放入这个队列,消费者取出消息并处理。

  内部实现是用了BlockingQueue,这个队列特别的地方就是出队和入队的时候是阻塞的,也就是说当队列中没有元素的时候出队这个动作会引起线程阻塞,直到有元素入队;同理入队也会因为队列满而引起线程阻塞,直到有元素出队。

  这个类中定义了两个方法:next和enqueueMessage分别对应出对和入队。  

  需要考虑的就是如何将生产者和消费者多线程共享这个队列

  吃口饭再写,好饿

猜你喜欢

转载自www.cnblogs.com/gaoquanquan/p/9936688.html
今日推荐