Java多線程中Message類和Queue類的使用方法
作者:佚名
Java多線程有很多的分類,首先我們來看看Message類和Queue類之間的具體代碼是什么樣的。只有這樣我們才能更好的進行相關技術的學習。
在Java多線程的應用中有狠多需要我們主要的事情,其中以Message類和Queue類最為重要。在使用的時候我們需要不斷的學習相關的知識,這樣才能熟練的掌握在Java多線程中相關的使用方法。
Message類
- 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;
- }
- }
Queue類
- 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多線程的詳細介紹。相關的問題我們還是會不斷的向大家介紹。
【編輯推薦】
責任編輯:張浩
來源:
TT網絡