标签:bubuko apt 这一 加锁 bsp img rbac upd sch
这一章我们主要关心的是 Task 是怎样被计算的以及结果是怎么被处理的
[下图是Task执行原理流程图]
在同一个 Stage 的内部需要共享资源。在同一个 Stage 中我们 ExecutorBackend 会有很多并发线程,此时它们所依赖的 Jar 跟文件肯定是一样的,每一个 TaskRunner 运行的时候都会运行在线程中,这个方法会被多个线程去调,所以线程需要一个加锁,而这个方法是有全区中的。这主要是要防止资源竞争。下载一切这个 Task 需要的 Jar 文件,我们通 Executor 在不同的线程中共享全区资源。
[下图是 Executor.scala 中的 updateDependencies 方法]
标签:bubuko apt 这一 加锁 bsp img rbac upd sch
原文地址:https://www.cnblogs.com/sky-sql/p/9079039.html