09 | 队列:队列在线程池等有限资源池中的应用
Posted lakeslove
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09 | 队列:队列在线程池等有限资源池中的应用相关的知识,希望对你有一定的参考价值。
当队满时,(tail+1)%n=head。
public class CircularQueue { // 数组:items,数组大小:n private String[] items; private int n = 0; // head表示队头下标,tail表示队尾下标 private int head = 0; private int tail = 0; // 申请一个大小为capacity的数组 public CircularQueue(int capacity) { items = new String[capacity]; n = capacity; } // 入队 public boolean enqueue(String item) { // 队列满了 if ((tail + 1) % n == head) return false; items[tail] = item; tail = (tail + 1) % n; return true; } // 出队 public String dequeue() { // 如果head == tail 表示队列为空 if (head == tail) return null; String ret = items[head]; head = (head + 1) % n; return ret; } }
以上是关于09 | 队列:队列在线程池等有限资源池中的应用的主要内容,如果未能解决你的问题,请参考以下文章
线程池中阻塞队列的作用?为什么是先添加列队而不是先创建最大线程?