SynchronousQueue在java中的元素增减

SynchronousQueue在java中的元素增减,第1张

SynchronousQueue在java中的元素增减

本教程 *** 作环境:windows7系统、java10版,DELL G3电脑。

1.方法介绍

put(E e) 添加一个非空元素,同时会阻塞住,直到另一个线程调用take()

take() 取出一个元素,如果队列为空,阻塞,直到另一个线程调用put(E e)

2.入队put方法实例

public void put(E e) throws InterruptedException {  
    if (e == null) throw new NullPointerException();// 元素不可为null
    // 三个参数分别是:传输的元素,是否需要超时,超时的时间
    if (transferer.transfer(e, false, 0) == null) {
        // 如果传输失败,直接让线程中断并抛出中断异常
        Thread.interrupted();
        throw new InterruptedException();
    }
}

3.出队take方法实例

public E take() throws InterruptedException {
    E e = transferer.transfer(null, false, 0);
    if (e != null)
        return e;
    Thread.interrupted();
    throw new InterruptedException();
}

以上就是SynchronousQueue在java中的元素增减方法,在理解了SynchronousQueue的用法后,我们就可以对元素的增加或删除有所变动,学会后赶快试试代码的运行吧。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3017589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存