import java.util.concurrent.ConcurrentLinkedQueue; ConcurrentLinkedQueue<String> messageQueue = new ConcurrentLinkedQueue<>(); public class Producer implements Runnable { private ConcurrentLinkedQueue<String> messageQueue; public Producer(ConcurrentLinkedQueue<String> messageQueue) { this.messageQueue = messageQueue; } @Override public void run() { String message = generateMessage(); messageQueue.add(message); } private String generateMessage() { return "Hello, World!"; } } public class Consumer implements Runnable { private ConcurrentLinkedQueue<String> messageQueue; public Consumer(ConcurrentLinkedQueue<String> messageQueue) { this.messageQueue = messageQueue; } @Override public void run() { String message = messageQueue.poll(); processMessage(message); } private void processMessage(String message) { System.out.println("Received message: " + message); } } public class Main { public static void main(String[] args) { ConcurrentLinkedQueue<String> messageQueue = new ConcurrentLinkedQueue<>(); Thread producerThread = new Thread(new Producer(messageQueue)); Thread consumerThread = new Thread(new Consumer(messageQueue)); producerThread.start(); consumerThread.start(); } }


上一篇:
下一篇:
切换中文