Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java信号量等待空闲对其他线程的影响?_Java_Multithreading_Semaphore - Fatal编程技术网

Java信号量等待空闲对其他线程的影响?

Java信号量等待空闲对其他线程的影响?,java,multithreading,semaphore,Java,Multithreading,Semaphore,假设我正在管理我的线程池,这样就不会出现饥饿 当我使用一个信号量或另一个同步器,并且该信号量导致线程等待指定的事件发生(例如,该信号量释放一个令牌)时,等待的线程(什么也不做)是否仍在与活动线程争夺处理器资源?或者在信号量释放令牌之前,它是否会占用后座资源?等待的线程将进入睡眠状态。它不占用任何处理器时间,即在轮询等待条件为真时不执行忙等待。调度程序只是不考虑它。信号量将在线程再次空闲时显式唤醒线程。关于这一点非常明确: 如果没有可用的许可证,则当前线程将被禁用 线程调度目的和处于休眠状态,直到

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


当我使用一个信号量或另一个同步器,并且该信号量导致线程等待指定的事件发生(例如,该信号量释放一个令牌)时,等待的线程(什么也不做)是否仍在与活动线程争夺处理器资源?或者在信号量释放令牌之前,它是否会占用后座资源?

等待的线程将进入睡眠状态。它不占用任何处理器时间,即在轮询等待条件为真时不执行忙等待。调度程序只是不考虑它。信号量将在线程再次空闲时显式唤醒线程。

关于这一点非常明确:

如果没有可用的许可证,则当前线程将被禁用 线程调度目的和处于休眠状态,直到发生以下两种情况之一 发生:[……]

因此,是的,等待线程在许可证可用之前一直处于资源的后座