如何深入理解并掌握JAVA多线程编程的底层原理和高级技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计227个文字,预计阅读时间需要1分钟。
阻塞队列实现示例:
javaimport java.util.LinkedList;import java.util.List;
/** * 阻塞队列 * @author Administrator */public class BlockingQueue { // 构建队列 private List queue=new LinkedList();
// 队列容量 private int capacity;
// 构造方法 public BlockingQueue(int capacity) { this.capacity=capacity; }
// 添加元素 public synchronized void add(Object o) throws InterruptedException { while (queue.size()==capacity) { wait(); } queue.add(o); notifyAll(); }
// 移除元素 public synchronized Object remove() throws InterruptedException { while (queue.isEmpty()) { wait(); } Object o=queue.remove(0); notifyAll(); return o; }}
阻塞队列package thread.blockqueue;
import java.util.LinkedList;
import java.util.List;
/**
* 阻塞队列
*
* @author Administrator
*
*/
public class BlockingQueue
本文共计227个文字,预计阅读时间需要1分钟。
阻塞队列实现示例:
javaimport java.util.LinkedList;import java.util.List;
/** * 阻塞队列 * @author Administrator */public class BlockingQueue { // 构建队列 private List queue=new LinkedList();
// 队列容量 private int capacity;
// 构造方法 public BlockingQueue(int capacity) { this.capacity=capacity; }
// 添加元素 public synchronized void add(Object o) throws InterruptedException { while (queue.size()==capacity) { wait(); } queue.add(o); notifyAll(); }
// 移除元素 public synchronized Object remove() throws InterruptedException { while (queue.isEmpty()) { wait(); } Object o=queue.remove(0); notifyAll(); return o; }}
阻塞队列package thread.blockqueue;
import java.util.LinkedList;
import java.util.List;
/**
* 阻塞队列
*
* @author Administrator
*
*/
public class BlockingQueue

