Spring Framework 6.1が仮想スレッドに対応へ、9月登場予定のJava 21にも対応予定
今回は「Spring Framework 6.1が仮想スレッドに対応へ、9月登場予定のJava 21にも対応予定」についてご紹介します。
関連ワード (正式対応、発生、登場等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Javaの代表的なフレームワークの1つであるSpring Frameworkは、現在開発中の次期バージョンSpring Framework 6.1でJavaの仮想スレッドに対応することが分かりました。
Spring Frameworkは昨年(2022年)11月に、5年ぶりのメジャーバージョンアップとなるSpring Framework 6.0が登場しました。
Spring Framework 6.1はそのマイナーバージョンアップ版となります。
参考:Spring Framework 6.0正式リリース、5年ぶりのメジャーバージョンアップ。Java 17以降に対応、ネイティブバイナリ化支援機能など
Java 21登場に合わせて仮想スレッド対応を実装か
Spring Framework 6.1で対応予定の仮想スレッド(Virtual Threads)は、Java 19でプレビュー版として登場したJavaVMの機能です。
参考:Java 19が正式リリース。より軽量な仮想スレッド、RISC-Vへの移植など新機能。1年後のJava 21が次のLTS版に
従来のJavaのスレッド機能は、JavaVMが実行されているOSが提供するスレッドと1対1対応していました。
しかしOSでのスレッドの生成は、OS上で多数のコンテキストスイッチングやメモリ消費が発生することになり、処理のオーバーヘッドになることがありました。
仮想スレッドはOSによるスレッド生成に依存せず、JavaVMの中でJavaのスレッドを作成し管理できるようにしたものです。これまでよりも大幅に軽量なスレッド作成と管理が可能になり、スレッドを用いた多数の並行処理がさらに高速でスケーラブルなものになります。
この仮想スレッドは来月(2023年9月)に登場予定のJava 21でプレビュー版から正式版になる見通しであり、Spring Framework 6.1はそれに合わせて仮想スレッドの対応を組み入れたのでしょう。
Spring Frameworkはバージョン6からベースラインがJava 17以降となりましたが、Spring Framework 6.1ではJava 21へも正式対応する予定です。
Java 21はオラクルを始め多くのベンダが長期サポート版(LTS版)とする予定ですので、この対応は多くの開発者に歓迎されるでしょう。
Spring Framework 6.1は現在マイルストーン4(M4)リリースまできており、正式リリースに近づいています。もしかしたらリリースもJava 21とタイミングを合わせてくるのかもしれません。