Class SemaphoreRunnable

java.lang.Object
org.miaixz.bus.core.lang.thread.SemaphoreRunnable
All Implemented Interfaces:
Runnable

public class SemaphoreRunnable extends Object implements Runnable
带有信号量控制的Runnable 接口抽象实现

通过设置信号量,可以限制可以访问某些资源(物理或逻辑的)线程数目。 例如:设置信号量为2,表示最多有两个线程可以同时执行方法逻辑,其余线程等待,直到此线程逻辑执行完毕

Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • SemaphoreRunnable

      public SemaphoreRunnable(Runnable runnable, Semaphore semaphore)
      构造
      Parameters:
      runnable - 实际执行的线程逻辑
      semaphore - 信号量,多个线程必须共享同一信号量
  • Method Details

    • getSemaphore

      public Semaphore getSemaphore()
      获得信号量
      Returns:
      Semaphore
    • run

      public void run()
      Specified by:
      run in interface Runnable