よくSpring WebFluxでのリアクティブプログラミングや、Kotlin Coroutinesの話で、「JDBCの処理を呼ぶとブロッキングなので意味が・・・」という話がでてきます。
が、実際に動かしてどういう挙動になるのか、なにが問題なのかを説明しているものがあまりないのでまとめてみました。
Spring WebFluxとKotlin Coroutinesを使い、ノンブロッキングとブロッキングの処理を呼んだ時の違いや、それをJDBCの処理に置き換えた時の挙動などをスレッドの動きを見ながら解説します。
※ Spring WebFluxやORMなど各技術スタックの使い方の説明は割愛しています
続きを読む