💻 VerseTips #51

sync{}で並列処理の完了待ち

sync{}で並列処理の完了待ち

sync{}を使うと、複数の非同期処理を同時に実行し、全てが完了するまで待機できます。複数のアニメーションを同期させたい時に便利。

詳細解説

sync{}は複数の非同期処理を並列実行し、全ての完了を待つ式です。


【基本構文】

sync {

ProcessA()

ProcessB()

ProcessC()

}

# 全て完了してから次の処理へ


【特徴】

  • 全てのブロック内処理が並列実行
  • 最も遅い処理が完了するまで待機
  • 結果はタプルで返される

  • 【使用例:複数ドアの同時開放】

    sync {

    Door1.Open()

    Door2.Open()

    Door3.Open()

    }

    Print("全てのドアが開きました")


    【race{}との違い】

  • race{} : 最初の1つが完了したら終了
  • sync{} : 全てが完了したら終了

  • 【注意点】

  • 1つでも失敗すると全体が失敗
  • 長い処理があると全体が遅くなる