Java集合 TransferQueue

线程安全的

transfer(T t) 直接把内容传递个消费者,如果没有消费者将会阻塞

public static void main(String[] args) throws InterruptedException {
        TransferQueue<String>  tq = new LinkedTransferQueue<>();

        tq.transfer("test");
        
        new Thread(()->{
            try {
                Thread.sleep(500);
                System.out.println(tq.poll());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }).start();
    }

上面代码会被阻塞。

tryTransfer(T t, long long, TimeUnit unit)  尝试 一定时间,如果没有消费者,返回 false。

发布了16 篇原创文章 · 获赞 3 · 访问量 4527

猜你喜欢

转载自blog.csdn.net/qq_29697901/article/details/90406399