gpt4 book ai didi

java - 如何在java中限制同步块(synchronized block)的特定线程数

转载 作者:行者123 更新时间:2023-12-01 07:57:23 26 4
gpt4 key购买 nike

我无法弄清楚这个问题。在多线程环境中 - 恰好有 3 个线程应该能够执行同步块(synchronized block),而其余线程应该等待?

我的理解是,当我们使用同步或监视时,一个线程将等待,直到另一个线程在侧同步块(synchronized block)或方法中完成其执行。要实现多个线程进入同步块(synchronized block)或方法,我们需要使用 wait()、notify()、notifyAll(),即线程间通信,其中 wait() 方法在某个对象上调用时,它将获取其锁定并给予机会其他等待线程。

所以我想知道如何做上面的问题。我不确定我是否以正确的方式提出了我的问题。如果可能的话,我们是否需要使用java并发util包或者可以在基本(核心)线程功能中完成。

最佳答案

使用具有三个许可的信号量:

Semaphores are often used to restrict the number of threads that can access some (physical or logical) resource.

关于java - 如何在java中限制同步块(synchronized block)的特定线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28302253/

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