**条件变量实现计算图**:计算任务可以执行的条件是它依赖的计算都已经完成——因此我们可以为每个计算任务设置一个条件变量,我们等待 pending dependency 减少到 0,并且在条件满足时使用 signal 通知后继节点。