Java 24で導入された、JEP 491: Synchronize Virtual Threads without Pinningはwithout Pinningです!ここが重要です。 3行で Java 24からでもVirtualThread上でsynchronizedを使ってもいいわけではなく、これまでどおりできるだけ使わない。 JEP 491はPlatform Threadがsynchronizedを含むVirtual Threadによって占有されることを防ぎ、ほかのVirtual Threadを処理できるようにする。 複数のVirtual Threadで同じオブジェクトをモニタ(≒ロック)しているsynchronized 処理はこれまで通りロックの取り合いで止まる。 背景 Java 24は、JEP 491: Synchronize Virtual Threads without P

