現在の並列関連技術の多くは、プログラムを細かいコードブロックに分けて、 各ブロック内部ではブロッキングせず、 コードブロック内ではデータを共有せずにスレッドプールで動かす。

この辺の話はnodejsとTwitter Finagleあたりのノンブロッキングなfutureでプログラムを統一するというスタイルのあたりで一般にも知られるようになったと思っているけれど、 現在だとasync-awaitなどのより複雑な見た目に隠れてその辺の事情がわかりにくくなってしまった。 一方でコアを使い切る為にやらなくてはいけない事は、本質的にはほとんど同じままだ。

そこであえてFutureでコアを使い切る為に必要な前提知識の話をしてみたい、と思って、以下のような動画シリーズを作ってみた。

並列プログラムから見たFuture playlist

コールバックヘルが無くなってどうこう、みたいな解説はいっぱいあるのだが、 スレッドプールをコードブロックで埋める、 みたいな話はあまり見かけないので、作ってみた。 どうでしょ?