
在Java多线程应用程序中,有很多事情需要我们解决. 其中,Message和Queue类是最重要的. 使用它时java中queue的使用,我们需要不断学习相关知识,以便我们能够掌握Java多线程中的相关使用方法.

消息类

- package com.example.test;
- public class Message {
- public static int id;
- public String content;
- public String getContent() {
- return content;
- }
- public void setContent(String content) {
- this.content = content;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- Message.id = id;
- }
- }

队列类

- package com.example.test;
- import java.util.ArrayList;
- import java.util.List;
- public class Queue {
- List<Message> queue = new ArrayList<Message>();
- /** 队列中message对象的***值,默认为5 */
- int maxMessageNum = 5;
- public synchronized void produce(Message message) {
- this.notifyAll();
- while (queue.size() == maxMessageNum) {
- System.out.println(Thread.currentThread().getName()
- + " 队列满!等待中。。。");
- try {
- this.wait();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- queue.add(message);
- System.out.println(Thread.currentThread().getName() + "正在生产"
- + message.getContent() + "。。。 ,当前个数:" + getCount());
- }
- public synchronized void consume() {
- this.notifyAll();
- while (queue.size() == 0) {
- System.out.println(Thread.currentThread().getName()
- + " 队列空!等待中。。。");
- try {
- System.out.println("begin!");
- wait();
- System.out.println("end!");
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- Message message = queue.get(0);
- queue.remove(0);
- System.out.println(Thread.currentThread().getName() + "正在消费"
- + message.getContent() + "。。。 ,当前个数: " + getCount());
- }
- public synchronized int getCount() {
- return queue.size();
以上是Java多线程的详细介绍. 我们将继续向您介绍相关问题.
[编辑推荐]
Android Java包Scala的各种功能概述: Java +功能=后功能? C ++java中queue的使用,C#和Java之间的区别是用于启动Java程序的Android应用程序方法的摘要. 2010年将是Java模块化的一年.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-153373-1.html
中国没有不好
好甜