Java Semaphore Await Idleness对其他线程有影响吗?

标签 java multithreading semaphore

假设我正在管理我的线程池,这样就不会有饥饿......

当我使用信号量或另一个同步器,并且信号量导致线程等待直到指定事件发生(例如信号量释放 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/

相关文章:

java - 当在线程对象上调用 start 时,在线程上设置的优先级不起作用

c - 生产者消费者信号量值不正确

c - 优雅地退出多线程进程

java - 具有多线程和公共(public)资源的批处理的建议架构

C++ 线程和 Promise : attempting to reference a deleted function

linux - 如何找到信号量未锁定的原因

java - 使用 ByteBuddy : "class redefinition failed: attempted to add a method" 重新定义方法时出错

java - Java中指针被什么代替了?

java - (70007)指定的超时已过期 : proxy: error reading status line from remote server

java - Spring 安全 3 : Is it possible to see which AuthenticationProvider has authenticated a session?