<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Concurrency on AI VOID</title><link>https://ai-blog.noorshomelab.dev/categories/concurrency/</link><description>Recent content in Concurrency on AI VOID</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 17 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-blog.noorshomelab.dev/categories/concurrency/index.xml" rel="self" type="application/rss+xml"/><item><title>The JavaScript Event Loop, Microtasks, and Macrotasks</title><link>https://ai-blog.noorshomelab.dev/js-architect-prep-2026/event-loop-microtasks-macrotasks/</link><pubDate>Wed, 14 Jan 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/js-architect-prep-2026/event-loop-microtasks-macrotasks/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Understanding the JavaScript Event Loop, Microtasks, and Macrotasks is fundamental for any JavaScript developer, moving from merely writing code to truly comprehending its execution model. This chapter dives deep into how JavaScript handles asynchronous operations, concurrency, and the non-blocking nature that defines modern web and server-side applications. It’s often a source of confusion and tricky interview questions because the execution order isn&amp;rsquo;t always intuitive.&lt;/p&gt;
&lt;p&gt;This section is crucial for candidates at all levels. Entry-level developers need to grasp the basics of how &lt;code&gt;setTimeout&lt;/code&gt; and &lt;code&gt;Promise&lt;/code&gt; callbacks are processed. Mid-level professionals should understand the distinction between microtasks and macrotasks and predict execution order in complex scenarios. For senior and architect-level roles, a profound understanding is expected, including nuanced differences between browser and Node.js event loops, advanced asynchronous patterns, potential performance bottlenecks, and debugging intricate timing-related bugs.&lt;/p&gt;</description></item><item><title>Chapter 9: Asynchronous Operations and Concurrency</title><link>https://ai-blog.noorshomelab.dev/ratatui-mastery-guide-2026/09-async-concurrency/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/ratatui-mastery-guide-2026/09-async-concurrency/</guid><description>&lt;h1 id="chapter-9-asynchronous-operations-and-concurrency"&gt;Chapter 9: Asynchronous Operations and Concurrency&lt;/h1&gt;
&lt;p&gt;Welcome back, intrepid terminal artisan! In our previous chapters, we&amp;rsquo;ve built a solid foundation for crafting beautiful and interactive Terminal User Interfaces (TUIs) with Ratatui. We&amp;rsquo;ve learned about rendering, managing state, and handling basic user input. But what happens when your TUI needs to do more than just respond to keystrokes? What if it needs to fetch data from a network, process a large file, or run a long-computation task without freezing the entire interface?&lt;/p&gt;</description></item><item><title>Advanced Topics: Concurrency and Asynchronous Programming</title><link>https://ai-blog.noorshomelab.dev/rust-guide/advanced-concurrency-async/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/rust-guide/advanced-concurrency-async/</guid><description>&lt;h1 id="advanced-topics-concurrency-and-asynchronous-programming"&gt;Advanced Topics: Concurrency and Asynchronous Programming&lt;/h1&gt;
&lt;p&gt;Concurrency (doing multiple things at the same time) and asynchronous programming (doing multiple things in an overlapping manner, without necessarily at the exact same time) are critical for building high-performance and responsive applications. Rust tackles these complex domains with a unique &amp;ldquo;fearless concurrency&amp;rdquo; model, leveraging its ownership and type system to prevent common concurrency bugs like data races at compile time.&lt;/p&gt;
&lt;p&gt;This chapter introduces you to Rust&amp;rsquo;s concurrency primitives and then dives into the modern asynchronous programming landscape with the &lt;code&gt;async&lt;/code&gt;/&lt;code&gt;await&lt;/code&gt; syntax and the popular &lt;code&gt;Tokio&lt;/code&gt; runtime.&lt;/p&gt;</description></item><item><title>Chapter 14: Concurrency - Async/Await &amp;amp; Tasks</title><link>https://ai-blog.noorshomelab.dev/mastering-swift-2026/14-concurrency-async-await-tasks/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/mastering-swift-2026/14-concurrency-async-await-tasks/</guid><description>&lt;h2 id="chapter-14-concurrency---asyncawait--tasks"&gt;Chapter 14: Concurrency - Async/Await &amp;amp; Tasks&lt;/h2&gt;
&lt;p&gt;Welcome back, future Swift master! So far, you&amp;rsquo;ve built a solid foundation in Swift&amp;rsquo;s syntax, types, control flow, and even how to handle errors and manage memory. You&amp;rsquo;re becoming quite the wizard! But what happens when your app needs to do something time-consuming, like fetching data from the internet or processing a large image? If you do it directly on the main thread (the one responsible for your app&amp;rsquo;s user interface), your app will freeze, becoming unresponsive and frustrating for the user. Nobody likes a frozen app!&lt;/p&gt;</description></item><item><title>Chapter 15: Actors &amp;amp; Structured Concurrency</title><link>https://ai-blog.noorshomelab.dev/mastering-swift-2026/15-actors-structured-concurrency/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/mastering-swift-2026/15-actors-structured-concurrency/</guid><description>&lt;h2 id="chapter-15-actors--structured-concurrency"&gt;Chapter 15: Actors &amp;amp; Structured Concurrency&lt;/h2&gt;
&lt;p&gt;Welcome back, intrepid Swift explorer! In previous chapters, we laid the groundwork for asynchronous programming with &lt;code&gt;async/await&lt;/code&gt;, learning how to perform operations that take time without blocking our app&amp;rsquo;s main thread. That was a huge step forward in writing more responsive and efficient code!&lt;/p&gt;
&lt;p&gt;Now, we&amp;rsquo;re going to tackle one of the trickiest aspects of concurrent programming: managing shared mutable state. Imagine multiple parts of your program trying to update the same piece of data at the same time. Chaos, right? That&amp;rsquo;s where &lt;strong&gt;Actors&lt;/strong&gt; come in, providing a safe and elegant solution to this problem. We&amp;rsquo;ll also dive deeper into &lt;strong&gt;Structured Concurrency&lt;/strong&gt;, learning how to organize and manage multiple asynchronous tasks in a robust, predictable way, ensuring that tasks are cancelled and errors are handled correctly.&lt;/p&gt;</description></item><item><title>Chapter 9: Concurrency with Async/Await &amp;amp; Grand Central Dispatch</title><link>https://ai-blog.noorshomelab.dev/ios-pro-dev-2026-guide/concurrency-async-await/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/ios-pro-dev-2026-guide/concurrency-async-await/</guid><description>&lt;h2 id="chapter-9-concurrency-with-asyncawait--grand-central-dispatch"&gt;Chapter 9: Concurrency with Async/Await &amp;amp; Grand Central Dispatch&lt;/h2&gt;
&lt;p&gt;Welcome to Chapter 9! So far, we&amp;rsquo;ve learned how to build user interfaces, manage state, and even connect to the internet for data. But what happens when that internet connection is slow, or you have a complicated calculation to make? If your app freezes while it&amp;rsquo;s waiting, users will get frustrated and might even leave your app! This is where &lt;strong&gt;concurrency&lt;/strong&gt; comes in.&lt;/p&gt;</description></item></channel></rss>