Java 中的线程池类型 [已关闭]
2022-09-02 19:20:34
Java中的线程池有哪些类型。我需要实现一个使用大量计算的强大多线程应用程序,我应该使用哪个线程池?
Java中的线程池有哪些类型。我需要实现一个使用大量计算的强大多线程应用程序,我应该使用哪个线程池?
Java中有各种线程池:
单线程执行器 :只有一个线程的线程池。因此,所有提交的任务都将按顺序执行。方法:Executors.newSingleThreadExecutor()
缓存线程池 :一个线程池,它创建在parrallel中执行任务所需的任意数量的线程。旧的可用线程将重新用于新任务。如果在 60 秒内未使用线程,则该线程将被终止并从池中删除。方法:Executors.newCachedThreadPool()
固定线程池 :具有固定线程数的线程池。如果某个线程不可用于该任务,则该任务将放入队列中,等待其他任务结束。方法:Executors.newFixedThreadPool()
计划线程池 :用于计划未来任务的线程池。方法:Executors.newScheduledThreadPool()
单线程调度池 :只有一个线程的线程池,用于调度未来的任务。方法:Executors.newSingleThreadScheduledExecutor()
;)有很多种类型
例如,有ExecutorService
。这是允许提交任务等的“基本”实现。您可能希望使用执行程序来获取新的执行程序
,因为它具有适用于最常见方案的静态工厂方法。
从Java 7开始,你也有ForkJoinPool
。
还可以看看FutureTask
,因为这是一个非常方便的类来构建单个线程。