並列プログラミングの難しさ

  • 非決定的に動くのでデバッグが大変
    • 動く順番が決まっていない
    • プログラムが正常に動いたり動かなかったり
    • 正しいことを証明するのが困難
  • ロジックが難しい
  • 同期の管理が難しい