1.LinkedList理解MQ package com.example.demo.mq; import java.util.LinkedList; import java.util.Scanner; public class Started { public static final Object obj = new Object(); public static final LinkedList<Object> linkList = new LinkedList<>(); public static void main(String[] args) { new Thread(()-> { Scanner scanner = new Scanner(System.in); while(true) { String line = scanner.nextLine(); synchronized (obj) { linkList.add(line); obj.notify(); } } }).start(); new Thread(new Runnable() { @Override public void run() { while (true) { try { Object removedFirst = Started.linkList.removeFirst(); System.out.println("客户端收到消息:"+removedFirst); }catch (Exception e) { synchronized (Started.obj) { try { Started.obj.wait(); } catch (InterruptedException e1) { e1.printStackTrace(); } } } } } }).start(); } } 2.实现完整简单MQ消息队列服务 参考地址1:https://my.oschina.net/u/3959468/blog/2989038 参考地址2:https://www.cnblogs.com/jimisun/p/10108067.html