タグ

scalaとcollectionに関するmanabouのブックマーク (2)

  • Parallel Collections - 並列コレクションの設定 - Scala Documentation

    タスクサポート 並列コレクションは、演算のスケジューリングに関してモジュール化されている。 全ての並列コレクションはタスクサポートというオブジェクトによりパラメータ化されており、これがタスクのスケジューリングとプロセッサへの負荷分散 (load balancing) を担当する。 タスクサポートは内部にスレッドプールの実装への参照を持っており、タスクをより小さいタスクにいつどのように分割するかを決定している。 この内部の振る舞いに関してより詳しく知りたい場合はこのテクノロジーレポートを参照してほしい [ 1 ]。 現行の並列コレクションにはいくつかのタスクサポートの実装がある。 JVM 1.6 以上でデフォルトで使われるのは、 ForkJoinTaskSupport で、これは内部でフォーク/ジョインプールを使う。 JVM 1.5 とその他のフォーク/ジョインプールをサポートしない JVM

  • Scala標準のFutureと並列コレクションの実行コンテキスト

    この投稿はScala Advent Calendar 2014の5日目の記事です。4日目はmeganemuraさんの Scalastyle の導入 でした。 5日に出先から戻って以降ダウンしていた影響で、公開が翌朝になっております。すいません。 記事のテーマはシンプルで、Scalaの標準ライブラリの中で勝手にうまいことやってくれる(らしい)並列・非同期処理について、実行されるスレッドがどうなっているのか調べてみるものです。 どこのFutureチュートリアルでも基的に、 import ExecutionContext.Implicits.global をとりあえず書きましょう、と但し書きしてスタートします。これがデフォルトのFuture用の実行コンテキスト。 実行コンテキストの指定をしなかった場合 Cannot find an implicit ExecutionContext と怒られま

  • 1