b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

如何在Java多线程中使用Message和Queue类

电脑杂谈  发布时间:2020-03-26 21:07:28  来源:网络整理

java的queue_java中log4j的使用_java中queue的使用

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

java的queue_java中queue的使用_java中log4j的使用

消息类

java中log4j的使用_java中queue的使用_java的queue

  1. package com.example.test;  
  2. public class Message {  
  3. public static int id;  
  4. public String content;  
  5. public String getContent() {  
  6. return content;  
  7. }  
  8. public void setContent(String content) {  
  9. this.content = content;  
  10. }  
  11. public int getId() {  
  12. return id;  
  13. }  
  14. public void setId(int id) {  
  15. Message.id = id;  
  16. }  

java中log4j的使用_java的queue_java中queue的使用

队列类

java中log4j的使用_java的queue_java中queue的使用

  1. package com.example.test;  
  2. import java.util.ArrayList;  
  3. import java.util.List;  
  4. public class Queue {  
  5. List<Message> queue = new ArrayList<Message>();  
  6. /** 队列中message对象的***值,默认为5 */  
  7. int maxMessageNum = 5;  
  8. public synchronized void produce(Message message) {  
  9. this.notifyAll();  
  10. while (queue.size() == maxMessageNum) {  
  11. System.out.println(Thread.currentThread().getName()  
  12. + " 队列满!等待中。。。");  
  13. try {  
  14. this.wait();  
  15. } catch (InterruptedException e) {  
  16. e.printStackTrace();  
  17. }  
  18. }  
  19. queue.add(message);  
  20. System.out.println(Thread.currentThread().getName() + "正在生产"  
  21. + message.getContent() + "。。。 ,当前个数:" + getCount());  
  22. }  
  23. public synchronized void consume() {  
  24. this.notifyAll();  
  25. while (queue.size() == 0) {  
  26. System.out.println(Thread.currentThread().getName()  
  27. + " 队列空!等待中。。。");  
  28. try {  
  29. System.out.println("begin!");  
  30. wait();  
  31. System.out.println("end!");  
  32. } catch (InterruptedException e) {  
  33. e.printStackTrace();  
  34. }  
  35. }  
  36. Message message = queue.get(0);  
  37. queue.remove(0);  
  38. System.out.println(Thread.currentThread().getName() + "正在消费"  
  39. + message.getContent() + "。。。 ,当前个数: " + getCount());  
  40. }  
  41. public synchronized int getCount() {  
  42. 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

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...