ForkJoin은 한쪽을 fork하고 다른 쪽을 현재 worker가 계산한다

두 child를 모두 fork한 뒤 대기하면 현재 worker가 할 수 있는 일을 queue에 넘겨 overhead를 늘립니다.

  1. 1

    split left/right

    threshold 초과

  2. 2

    left.fork

    deque에 push

  3. 3

    right.compute

    현재 worker 실행

  4. 4

    left.join

    완료 대기·steal 도움

  5. 5

    combine

    left + right

핵심: work-first 순서가 queue와 join 대기를 줄입니다.