gpt4 book ai didi

java - java中的同步辅助

转载 作者:行者123 更新时间:2023-11-29 06:24:27 25 4
gpt4 key购买 nike

我正在运行一个网络服务器。每个用户请求都会更新/查找数据库。同时数据库连接的最大数量应小于 N。第 N+1 个并发请求应退出并执行其他逻辑,而不是连接到数据库。我能想到的是使用原子整数,在连接到数据库时,每个请求都会增加/减少原子整数。

我的问题是,除了 Atomic Integer 之外,java 中是否还有其他可用的同步辅助工具?我认为我不能为此使用 CountDownLatch 或循环屏障。

最佳答案

Semaphore是最适合这种情况的同步原语:

private Semaphore s = new Semaphore(N);

public void doRequest() {
if (s.tryAquire()) {
try {
...
} finally {
s.release();
}
} else {
// other logic
}
}

关于java - java中的同步辅助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5218321/

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