gpt4 book ai didi

java - java.util.Queue poll 和 add 方法是否原子/线程安全

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:56 26 4
gpt4 key购买 nike

我正在尝试实现一个连接池,它有方法 getFromPool 和 returnToPool

private java.util.Queue<XXXConnection> xxxConnectionQueue;  


public XXXConnection get() {
XXXConnection xxxConnection = null;

if (semaphore.tryAcquire()) {
confServerProtocol = configServerConnectionQueue.poll();
}

return confServerProtocol;
}


protected void returnToPool(XXXConnection xxxConnection) {
if (xxxConnectionValidator.isValid(xxxConnection)) {
if(xxxConnectionQueue.add(xxxConnection)) {
semaphore.release();
}
}
}

这里xxxConnectionValidator在连接返回池之前检查连接是否是有效连接。想确认java.util.Queue的add和poll方法是否线程安全。

最佳答案

java.util.Queue是一个接口(interface),该接口(interface)的实现是否线程安全取决于您选择的实现。

Oracle 有一个小页面,显示各种“标准”队列实现:https://docs.oracle.com/javase/tutorial/collections/implementations/queue.html

关于java - java.util.Queue poll 和 add 方法是否原子/线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26881634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com