Looking for haskell Answers? Try Ask4KnowledgeBase
Looking for haskell Keywords? Try Ask4Keywords

Haskell Language平行


パラメーター

タイプ/機能詳細
data Eval a Evalは、並列戦略を定義しやすくするMonadです
type Strategy a = a -> Eval a パラレルな評価戦略を具現化する関数。この関数は引数の一部を横断し、部分式を並列に評価するか順番に評価します
rpar :: Strategy a その議論を呼び起こす(並行して評価する)
rseq :: Strategy a 弱い頭の標準形にその引数を評価する
force :: NFData a => a -> a 引数自体を返す前に、引数の構造全体を評価し、それを通常の形に減らします。これは、Control.DeepSeqモジュールによって提供されます。

備考

Simon Marlowの著書「 Haskellでの同時並行プログラミング」は優れており、多数の概念をカバーしています。また、最新のHaskellプログラマーにとっても非常にアクセス可能です。それは非常にお勧めし、PDFまたはオンラインで無料でご利用いただけます。

並行対並行

Simon Marlow はそれを最善のものにしています

並列プログラムは、より迅速に計算を実行するために、多数の計算ハードウェア(例えば、いくつかのプロセッサコア)を使用するものです。目的は、計算のさまざまな部分を同時に実行する異なるプロセッサに委任することによって、より早期に回答に到達することです。

対照的に、並行処理は、複数の制御スレッドが存在するプログラム構造化手法です。概念的には、コントロールのスレッドは「同時に」実行されます。つまり、ユーザーはその効果がインターリーブされているとみなします。実際に同時に実行するかどうかは実装の詳細です。並行プログラムは、インターリーブされた実行または複数の物理プロセッサを介して単一のプロセッサ上で実行することができる。

弱い頭の標準形

遅延評価がどのように機能するかを知っておくことが重要です。 この章の最初のセクションでは WHNFについての強力な紹介と、これが並行プログラミングおよび並行プログラミングにどのように関係するかについて説明します。

平行 関連する例