java-队列(线程安全)

java 线程安全 队列

    概念:

    只允许在一端插入数据操作,在另一端进行删除数据操作的特殊线性表;进行插入操作的一端称为队尾(入队列),进行删除操作的一端称为队头(出队列);队列具有先进先出(FIFO)的特性。

    直接上代码:

public class ListDL {
    private  static ConcurrentLinkedDeque list = null;

    static {
        new ListDL();
    }
    public ListDL() {
        ListDL.list = new ConcurrentLinkedDeque();
    }


    //唯一实例
    public static class  SingletonHolder{
        public static ConcurrentLinkedDeque instance() {
            return ListDL.list;
        }
    }

    //获取该实例
    public static ConcurrentLinkedDeque getInstance(){
        return SingletonHolder.instance();
    }
}

测试:

     static class threads extends Thread{
        Thread thread_one = new Thread(){

            public void run(){
                ListDL.getInstance().addLast("123");
                System.out.println("1---"+ListDL.getInstance().size());
            }
        };
        Thread thread_two = new Thread(){

            public void run(){
                ListDL.getInstance().addLast("112312323");
                System.out.println("2---"+ListDL.getInstance().size());
            }
        };
        Thread thread_three = new Thread(){

            public void run(){
                ListDL.getInstance().removeFirst();
                System.out.println("3---"+ListDL.getInstance().size());
            }
        };
    }


    public static void main(String[] args) {
        threads i = new threads();
        i.thread_one.start();
        i.thread_two.start();
        i.thread_three.start();
    }

 

你可能感兴趣的:(JAVA)