<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Christian Woerz on JAVAPRO International</title><link>https://javapro-en.svenruppert.com/authors/christian-woerz/</link><description>Recent content in Christian Woerz on JAVAPRO International</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 23 Dec 2025 07:00:01 +0000</lastBuildDate><atom:link href="https://javapro-en.svenruppert.com/authors/christian-woerz/index.xml" rel="self" type="application/rss+xml"/><item><title>Java 25: Getting the Most Out of Virtual Threads with Structured Task Scopes and Scoped Values</title><link>https://javapro-en.svenruppert.com/java-25-getting-the-most-out-of-virtual-threads-with-structured-task-scopes-and-scoped-values/</link><pubDate>Tue, 23 Dec 2025 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/java-25-getting-the-most-out-of-virtual-threads-with-structured-task-scopes-and-scoped-values/</guid><description>&lt;p&gt;With Java 21, the Java platform completely reinvented how threads work by introducing &lt;em&gt;virtual threads&lt;/em&gt; alongside traditional &lt;em&gt;platform threads&lt;/em&gt;.&lt;br&gt;
Virtual threads let us create millions of concurrent tasks without worrying about creation time or memory usage. This makes it possible to handle vastly more requests than before, but it doesn’t solve every problem that once led developers to reactive programming.&lt;/p&gt;
&lt;p&gt;In this article, we’ll explore how &lt;em&gt;StructuredTaskScope&lt;/em&gt; and &lt;em&gt;ScopedValue&lt;/em&gt;, two powerful features that complement virtual threads, help us write safer, faster, and more maintainable concurrent code.&lt;/p&gt;</description></item></channel></rss>