Class ThreadPoolBudget

    • Constructor Detail

      • ThreadPoolBudget

        public ThreadPoolBudget​(ThreadPool.SizedThreadPool pool)
        Construct a budget for a SizedThreadPool.
        Parameters:
        pool - The pool to budget thread allocation for.
    • Method Detail

      • getLeasedThreads

        @ManagedAttribute("the number of threads leased to components")
        public int getLeasedThreads()
      • reset

        public void reset()
      • check

        public boolean check​(int maxThreads)
                      throws java.lang.IllegalStateException

        Checks leases against the given number of maxThreads.

        Parameters:
        maxThreads - A proposed change to the maximum threads to check.
        Returns:
        true if passes check, false if otherwise (see logs for details)
        Throws:
        java.lang.IllegalStateException - if insufficient threads are configured.
      • leaseFrom

        public static ThreadPoolBudget.Lease leaseFrom​(java.util.concurrent.Executor executor,
                                                       java.lang.Object leasee,
                                                       int threads)