4.14. Concurrent Haskellを使う

GHCはデフォルトでConcurrent Haskellをサポートしていて、特別なオプションが必要だったリ、特別な方法でコンパイルされたライブラリが必要だったりはしない。Concurrent Haskellのサポートライブラリにアクセスするには、単にControl.Concurrentをインポートすれば良い。Concurrent Haskellについてのさらなる情報はこのモジュールの付属文書にある。

任意選択で、プログラムを-threadedオプション(4.12.6. リンクに影響するオプション)付きでリンクすることができる。これには以下の二つの利点がある。

以下のRTSオプションがConcurrent Haskellプログラムの振る舞いに影響する。

-Cs

コンテキストスイッチの間隔をs秒に設定する。コンテキストスイッチは、時間切れの後の最初のヒープブロック確保の時点で発生する。(ヒープブロックの確保は確保4k毎に起こる)。-C0または-Cを使うと、コンテキストスイッチは可能な限り頻繁に(ヒープブロックの確保の度に)発生するようになる。デフォルトでは、コンテキストスイッチは20ms毎に発生する。