Spring Framework 6.1が仮想スレッドに対応へ、9月登場予定のJava 21にも対応予定
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とタイミングを合わせてくるのかもしれません。
あわせて読みたい
Google、コード生成や補完のAIモデル「Codey」が日本語での指示や説明に対応したと発表
≪前の記事
Go言語、実行時プロファイル情報による最適化「Profile-guided optimization」が正式機能に。Go 1.21リリース