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()实现

多线程:简易版本生产消费者模式纯语言概述

[linux环境] 基于thrift模拟游戏的简易匹配机制

使用 LinkedBlockingQueue 实现简易版线程池

基于ReentrantLock实现简易生产者消费者模型

JAVA——利用wait和notify实现生产者和消费者