them今日話すこと。JVMにおける並行処理の基礎、そして純数関数型プログラミングにおける実現手段について。ライブラリ同士の比較や、お勧めは特にしません。複数のタスクをインターリーブする。1つのスレッドでも実行可能。Concurrency並行処理。faster並列処理。複数のタスクを同時に実行することで、早く完了させることができる。CPU利用の基礎単位で、典型的にはOSの一部。スレッドはメモリを共有可能。CPU1コアあたり1スレッドが基本。defaultJVMでのスレッド。ネイティブなOSスレッドと1:1対応。各スレッドは64bitシステムではデフォルトで1MBほど必要。performanceコンテキストスイッチ。新しいスレッドの動作開始時に、古いタスクの状態を保存し、新しいタスクの状態を復元する。同期処理はコンテキストスイッチが発生しないため、もっとも効率良い。Task)スレッドプール。複数のスレッドの面倒を見ることで、スレッドの再利用が可能。more!非同期境界。タスクが、再度スケジュールされるためにスレッドプールへ戻ること。Schedulingタスクのスケジューリング。level!軽量な非同期境界。トランポリンにより、同じスレッドで継続する。IOでは、キャンセルされたかどうかのチェックも行う。timeoutsスレッドのブロッキング。スレッドを占有するオペレーション。スレッド資源を台無しにするので、もし他に選択肢がある場合はやるべきでない。非同期なブロッキング実際にはスレッドをブロックせず、その間に他のタスクを実行可能。(configurable)公平性。異なる複数のタスクを進めることができる蓋然性。これがないと遅延のバラつきが大きくなる。(opt-in)タスクをキャンセル出来るようにするには?非同期境界、flatMapそしてInterruptedExceptionの取り扱い(オプトイン)。scheduler.グリーンスレッドとファイバー。グリーンスレッドは、OSではなくVMによってスケジュールされるスレッドで、OSスレッドと1:1対応でなくて良い。ファイバーは、軽量スレッド。スケジューラに制御を移譲する。