Spark Executor:CachedThreadPool与FixedThreadPool性能比较

时间:2018-06-01 08:34:10

标签: multithreading apache-spark threadpool executorservice

默认情况下,spark执行器使用最大大小为20亿的缓存线程池。因此,创建了许多线程,并且它们等待核心在执行之前是免费的。

如果我要使用FixedThreadPool,我的遗嘱执行人将只有coreThreadscoreThreads == maxThreads用于FixedThreadPool)。让我们说我选择给线程数略多于核心数。现在,在提交任务时,不会有自由线程,任务将等待线程可用。只要线程可用,任务就会与线程相关联,然后执行。

我的问题是,表现明智哪两个更好? CachedPool导致线程等待,而FixedPool导致任务等待。是否有任何低级细节将线程等待与任务等待分开?

0 个答案:

没有答案