假设我正在管理我的线程池,这样就不会有饥饿......
当我使用信号量或另一个同步器,并且信号量导致线程等待直到指定事件发生(例如信号量释放 token )时,等待线程(不执行任何操作)是否仍在竞争处理器资源针对 Activity 线程?或者在信号量释放 token 之前它是否会在资源方面处于次要地位?
最佳答案
Javadoc for Semaphore.acquire
关于这一点非常明确:
If no permit is available then the current thread becomes disabled for thread scheduling purposes and lies dormant until one of two things happens: [...]
所以,是的,等待线程在资源方面处于次要地位,直到获得许可为止。
关于Java Semaphore Await Idleness对其他线程有影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24267635/