Spark源码精读一线程池之消息派发线程池

消息派发器中的线程池“dispatcher-event-loop”

这个线程池,是用来派发Spark中Endpoint的消息的,比如OnStart,RpcMessage等。
这个线程池创建的时机是在Dispatcher对象创建的初始化过程完成的。
这个线程池的线程数选择是计算机的CPU核数,而且采用的是Fixed线程池。

  /** Thread pool used for dispatching messages. */
  private val threadpool: ThreadPoolExecutor = {
   
    val numThreads = nettyEnv.conf.getInt("spark.rpc.netty.dispatcher.numThreads",
      math.max(2, Runtime.getRuntime.availableProcessors()))
    val pool = ThreadUtils.newDaemonFixedThreadPool(numThreads, "dispatcher-event-loop")
    for (i <- 0 until numThreads) {
   
      pool.execute(new MessageLoop)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值