並列計算

Juliaは並行および並列プログラミングに向けた,3つの主要な機能カテゴリをサポートしています:

  1. 非同期的な「タスク」,言い換えるとコルーチン
  2. マルチスレッディング
  3. 分散計算

Julia Tasksにより,I/O,イベント処理,producer-consumer処理,および同様のパターンの計算を, 一時停止したり再開したりすることが可能になります. Tasksはwaitfetchなどの操作を介して同期し,Channelを介して通信できます.

マルチスレッディング機能は,タスクを,メモリを共有しながら複数のスレッドまたはCPUコアで 同時に実行できるようにすることにより,タスクの上で構築されます.

最後に,分散計算は,場合によっては異なるマシン上で分割されたメモリ空間を用いながら,複数のプロセスを実行します. この機能は,Distributed標準ライブラリと,MPI.jlDistributedArrays.jlといった外部パッケージにより提供されます.