Java Virtual Threads Under Load: Three Limits to Make Explicit

Virtual threads let us keep ordinary blocking code while many more requests wait concurrently. Under load, however, that brings three critical questions into focus: How much work do we admit? Cheap threads can still build an expensive queue. What belongs inside a lock? A sleeping lock holder still makes everyone else wait. Who stops abandoned … Read more

Java’s Structured Concurrency: Finally Finding Its Footing

The structured concurrency API changed again after two incubations and four rounds of previews. Ideally, this scenario is unexpected. However, given its status as a preview API, such changes can occur, as was the case here. These changes lend considerable maturity to the API, and I am hopeful it will now stabilize without requiring further … Read more