前回の記事(Scala ExecutionContextって何 / Futureはスレッド立ち上げじゃないよ - ましめも) で import scala.concurrent.ExecutionContext.Implicits.global とは何なのか、そもそも ExecutionContext とは ということについて解説した。 おさらい ExecutionContext は スレッドプールを持っていて、そこにタスクを割り当てる機構 ExecutionContext.Implicits.global はデフォルトではCPUコア数分のスレッドを持っている Future内でThread.sleepはご法度 ExecutionContext.Implicits.global を使っている状態でThread.sleepをすると非常に迷惑になることがある。 例えば次のようなコードがあったとし
![Future内でThread.sleepはするな - ましめも](https://cdn-ak-scissors.b.st-hatena.com/image/square/6646576fcc93e95538c173bfd4bacac1df16f4ae/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmashijp%2F20141207%2F20141207231450.png)