线程创建方法会等待线程释放吗? 我可以减少使用线程池生成的线程数吗?
最佳答案
如果使用缓存线程池,该池将创建更多线程。但是,这只是任何时候所需的最大值,可能远少于您提交的任务数。
如果您使用固定大小的线程池,它会创建固定数量的线程,无论您是否给它任何任务,或者如果您给它的任务超过它的能力。它会将所有正在等待的任务排队。
Will the thread creating method wait for a thread to get free?
虽然您可以创建一个执行此操作的队列,但这不是默认行为。一个更常见的解决方案是让调用者在需要时执行任务。
can I reduce the number of threads generated using thread pooling?
如果您限制线程数,线程池可能会产生比任务 esp 少得多的线程。
关于java - 当线程池中没有空闲线程并且我们向池中提交任务时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21939032/