阻塞队列LinkedBlockingQueue

LinkedBlockingQueue应该是比较常用的队列了。

阻塞队列的基本方法:

add 增加一个元索如果队列已满,则抛出一个IIIegaISlabEepeplian异常

remove 移除并返回队列头部的元素如果队列为空,则抛出一个 NoSuchElementException异常

element返回队列头部的元素如果队列为空,则抛出一个NoSuchElementException异常

offer添加一个元素并返回true如果队列已满,则返回false

poll移除并返问队列头部的元素如果队列为空,则返回null

peek返回队列头部的元素如果队列为空,则返回null

put添加一个元素如果队列满,则阻塞

take移除并返回队列头部的元素如果队列为空,则阻塞

示例:

package yxxy.queuue;

import java.util.Arrays;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;

public class TEST {
    
    public static void main(String[] args) throws Exception {
        
        BlockingQueue queue = new LinkedBlockingQueue<>();
        
        Thread[] ths = new Thread[6];
        for(int i=0;it.start());
        Arrays.asList(ths).forEach(t->{
            try {
                t.join();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        });
        
    }
}

你可能感兴趣的:(阻塞队列LinkedBlockingQueue)