在Spark的DAGScheduler上同步

时间:2018-11-23 03:14:50

标签: scala apache-spark thread-synchronization

在Spark的0.5分支的DAGScheduler的源代码中,我注意到runJob方法是由一个对象同步的:

  override def runJob[T, U](
      finalRdd: RDD[T],
      func: (TaskContext, Iterator[T]) => U,
      partitions: Seq[Int],
      allowLocal: Boolean)
      (implicit m: ClassManifest[U]): Array[U] = {
    lock.synchronized {
    ...
    }
  }

我的问题是:由于没有其他同步方法,为什么不直接this.synchronized?是否有必要创建一个新对象作为锁?

0 个答案:

没有答案