{"id":35606,"date":"2026-03-30T11:23:03","date_gmt":"2026-03-30T09:23:03","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=35606"},"modified":"2026-03-30T11:24:55","modified_gmt":"2026-03-30T09:24:55","slug":"virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/","title":{"rendered":"Virtual Threads vs. Coroutines in 2026: Is Java Finally There?"},"content":{"rendered":"\n<p>Once again, the ultimate event for developers, tech leaders, and visionaries, <strong>Codemotion Madrid<\/strong>, is just around the corner. And with it come new opportunities to learn, connect, and explore the technological trends transforming the industry.<\/p>\n\n\n\n<p>To whet your appetite, here\u2019s a preview of one of the most exciting talks of this edition: <strong>Virtual Threads vs. Coroutines in 2026: Is Java Finally There?<\/strong> Led by Wout Werkman from JetBrains, this talk will explore how Java has evolved its concurrency model to compete with solutions that languages like Kotlin have offered for years.<\/p>\n\n\n\n<p><em>Remember: if you don\u2019t want to miss <\/em><strong><em>Codemotion Madrid 2026<\/em><\/strong><em>, happening on <\/em><strong><em>April 20\u201321 at La Nave (Madrid)<\/em><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-talk-context\">Talk Context<\/h2>\n\n\n\n<p>As any developer working in high-concurrency environments knows, efficiently managing threads and concurrent processes is key to modern application performance. And, as many are aware, Java has long been criticized for its challenges in this area.<\/p>\n\n\n\n<p>Traditional Java threads, based on the operating system\u2019s \u201cone thread per request\u201d model, have historically been heavy and resource-intensive. Each thread consumes significant memory, and creating them involves OS overhead, which limits scalability.<\/p>\n\n\n\n<p>For years, this problem persisted. While asynchronous and reactive models (like RxJava or Project Reactor) offered partial solutions, they added complexity without addressing the root issue.<\/p>\n\n\n\n<p>That\u2019s when <strong>Kotlin<\/strong> stepped in with its <strong>coroutines<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-kotlin-and-kotlin-coroutines\">Kotlin and Kotlin.coroutines<\/h2>\n\n\n\n<p>In 2011, JetBrains introduced Kotlin as an experimental project, and by 2014, its first stable version was officially released. Early adoption doubled year after year until 2017, when Google announced Kotlin would become an officially supported language\u2014marking a turning point for widespread adoption.<\/p>\n\n\n\n<p>It was in this context that JetBrains introduced <strong>coroutines<\/strong> in Kotlin 1.1\u2019s standard library, providing a lightweight, efficient concurrency model that allowed developers to write asynchronous code sequentially and readably.<\/p>\n\n\n\n<p>The ability to suspend and resume functions without blocking OS threads allowed developers to write code that looked synchronous but ran asynchronously.<\/p>\n\n\n\n<p>Coroutines proved capable of handling millions of concurrent tasks with minimal resource consumption, surpassing the limitations of traditional Java threads. Since then, Kotlin has become an industry standard.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-java-responds-virtual-threads-project-loom\">Java Responds: Virtual Threads (Project Loom)<\/h2>\n\n\n\n<p>Aware of this competitive disadvantage, Oracle began working on <strong>Project Loom<\/strong>, an initiative to modernize Java\u2019s concurrency model. After years of development, <strong>Java 21<\/strong> (released in September 2023) finally introduced <strong>Virtual Threads<\/strong> as an official language feature.<\/p>\n\n\n\n<p>These threads allow concurrency to be managed by the JVM instead of the OS, drastically reducing overhead and enabling more efficient thread management. Unlike traditional platform threads, virtual threads are dynamically mapped onto a limited pool of carrier threads, optimizing resource use. This architecture allows writing blocking code naturally without sacrificing scalability or increasing complexity.<\/p>\n\n\n\n<p>Additionally, the newly introduced <strong>Scoped Values<\/strong> complement this model by providing a way to propagate immutable data across threads without the overhead of ThreadLocal, further improving performance in high-concurrency scenarios.<\/p>\n\n\n\n<p>In direct response to Kotlin\u2019s Coroutine Scopes, Java also introduced <strong>Structured Concurrency APIs<\/strong>, which\u2014though still in preview\u2014allow multiple concurrent tasks running on different virtual threads to be treated as a single manageable unit of work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-talk-virtual-threads-vs-coroutines-in-2026-is-java-finally-there\">The Talk: Virtual Threads vs. Coroutines in 2026: Is Java Finally There?<\/h2>\n\n\n\n<p>You may have heard the Kotlin community boast about coroutines compared to Java\u2019s concurrency options.<\/p>\n\n\n\n<p>However, as we\u2019ve seen, Java has not stayed behind and has introduced many new features that bring it closer to the solutions Kotlin has offered for years. But the question remains: <strong>has Java finally closed the gap?<\/strong><\/p>\n\n\n\n<p>In the talk <strong>Virtual Threads vs. Coroutines in 2026: Is Java Finally There?<\/strong>, Wout Werkman will compare with attendees whether Java\u2019s new concurrency capabilities truly measure up to Kotlin\u2019s coroutines.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-speaker-wout-werkman-software-engineer-amp-developer-advocate-at-jetbrains\">Speaker: Wout Werkman (Software Engineer &amp; Developer Advocate at JetBrains)<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/wout-werkman-6b829b165\/\" target=\"_blank\" rel=\"noreferrer noopener\">Wout Werkman<\/a> is a software developer with experience in industrial automation and backend development. He currently collaborates with the Kotlin Multiplatform team at JetBrains and is fully committed to sharing his knowledge. He has the privilege of giving talks on Kotlin and teaching the language to young developers.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Once again, the ultimate event for developers, tech leaders, and visionaries, Codemotion Madrid, is just around the corner. And with it come new opportunities to learn, connect, and explore the technological trends transforming the industry. To whet your appetite, here\u2019s a preview of one of the most exciting talks of this edition: Virtual Threads vs.&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/\">Read more<\/a><\/p>\n","protected":false},"author":177,"featured_media":28342,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[20],"tags":[52],"collections":[],"class_list":{"0":"post-35606","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-languages","8":"tag-java","9":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Virtual Threads vs. Coroutines in 2026: Is Java Finally There?<\/title>\n<meta name=\"description\" content=\"Wout Werkman from JetBrains will explore how Java has evolved its concurrency model to compete with Kotlin\u2019s solutions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Virtual Threads vs. Coroutines in 2026: Is Java Finally There?\" \/>\n<meta property=\"og:description\" content=\"Wout Werkman from JetBrains will explore how Java has evolved its concurrency model to compete with Kotlin\u2019s solutions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-30T09:23:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-30T09:24:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1792\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Natalia de Pablo Garcia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Natalia de Pablo Garcia\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/\"},\"author\":{\"name\":\"Natalia de Pablo Garcia\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/2450f8e4083152e4feaea1ada456aeee\"},\"headline\":\"Virtual Threads vs. Coroutines in 2026: Is Java Finally There?\",\"datePublished\":\"2026-03-30T09:23:03+00:00\",\"dateModified\":\"2026-03-30T09:24:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/\"},\"wordCount\":668,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp\",\"keywords\":[\"Java\"],\"articleSection\":[\"Languages and frameworks\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/\",\"name\":\"Virtual Threads vs. Coroutines in 2026: Is Java Finally There?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp\",\"datePublished\":\"2026-03-30T09:23:03+00:00\",\"dateModified\":\"2026-03-30T09:24:55+00:00\",\"description\":\"Wout Werkman from JetBrains will explore how Java has evolved its concurrency model to compete with Kotlin\u2019s solutions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp\",\"width\":1792,\"height\":1024,\"caption\":\"Code reviews, revisione del codice\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Languages and frameworks\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/languages\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Virtual Threads vs. Coroutines in 2026: Is Java Finally There?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/2450f8e4083152e4feaea1ada456aeee\",\"name\":\"Natalia de Pablo Garcia\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Untitled-design-100x100.jpg\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Untitled-design-100x100.jpg\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Untitled-design-100x100.jpg\",\"caption\":\"Natalia de Pablo Garcia\"},\"sameAs\":[\"www.linkedin.com\\\/in\\\/nataliadepablo\"],\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/natalia-de-pablo-garcia\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Virtual Threads vs. Coroutines in 2026: Is Java Finally There?","description":"Wout Werkman from JetBrains will explore how Java has evolved its concurrency model to compete with Kotlin\u2019s solutions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/","og_locale":"en_US","og_type":"article","og_title":"Virtual Threads vs. Coroutines in 2026: Is Java Finally There?","og_description":"Wout Werkman from JetBrains will explore how Java has evolved its concurrency model to compete with Kotlin\u2019s solutions.","og_url":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2026-03-30T09:23:03+00:00","article_modified_time":"2026-03-30T09:24:55+00:00","og_image":[{"width":1792,"height":1024,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp","type":"image\/webp"}],"author":"Natalia de Pablo Garcia","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Natalia de Pablo Garcia","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/"},"author":{"name":"Natalia de Pablo Garcia","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/2450f8e4083152e4feaea1ada456aeee"},"headline":"Virtual Threads vs. Coroutines in 2026: Is Java Finally There?","datePublished":"2026-03-30T09:23:03+00:00","dateModified":"2026-03-30T09:24:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/"},"wordCount":668,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp","keywords":["Java"],"articleSection":["Languages and frameworks"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/","url":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/","name":"Virtual Threads vs. Coroutines in 2026: Is Java Finally There?","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp","datePublished":"2026-03-30T09:23:03+00:00","dateModified":"2026-03-30T09:24:55+00:00","description":"Wout Werkman from JetBrains will explore how Java has evolved its concurrency model to compete with Kotlin\u2019s solutions.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp","width":1792,"height":1024,"caption":"Code reviews, revisione del codice"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/languages\/virtual-threads-vs-coroutines-in-2026-codemotion-madrid-2026\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Languages and frameworks","item":"https:\/\/www.codemotion.com\/magazine\/languages\/"},{"@type":"ListItem","position":3,"name":"Virtual Threads vs. Coroutines in 2026: Is Java Finally There?"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/2450f8e4083152e4feaea1ada456aeee","name":"Natalia de Pablo Garcia","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/11\/Untitled-design-100x100.jpg","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/11\/Untitled-design-100x100.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/11\/Untitled-design-100x100.jpg","caption":"Natalia de Pablo Garcia"},"sameAs":["www.linkedin.com\/in\/nataliadepablo"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/natalia-de-pablo-garcia\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--600x400.webp","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--600x600.webp","author_info":{"display_name":"Natalia de Pablo Garcia","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/natalia-de-pablo-garcia\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp",1792,1024,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--150x150.webp",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--300x171.webp",300,171,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--768x439.webp",768,439,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--1024x585.webp",1024,585,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--1536x878.webp",1536,878,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a-.webp",1792,1024,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--100x100.webp",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--180x128.webp",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--896x504.webp",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--400x225.webp",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--600x400.webp",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/06\/DALL\u00b7E-2024-06-24-14.11.28-8-bit-nerdy-aesthetic-depicting-a-developer-running-a-code-review.-The-developer-is-sitting-at-a-desk-with-a-computer-surrounded-by-coding-books-a--600x600.webp",600,600,true]},"uagb_author_info":{"display_name":"Natalia de Pablo Garcia","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/natalia-de-pablo-garcia\/"},"uagb_comment_info":0,"uagb_excerpt":"Once again, the ultimate event for developers, tech leaders, and visionaries, Codemotion Madrid, is just around the corner. And with it come new opportunities to learn, connect, and explore the technological trends transforming the industry. To whet your appetite, here\u2019s a preview of one of the most exciting talks of this edition: Virtual Threads vs.&#8230;&hellip;","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/35606","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/177"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=35606"}],"version-history":[{"count":1,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/35606\/revisions"}],"predecessor-version":[{"id":35607,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/35606\/revisions\/35607"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/28342"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=35606"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=35606"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=35606"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=35606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}