<?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 Michael Winsor</title><link>http://mgwinsor.dev/tags/concurrency/</link><description>Recent content in Concurrency on Michael Winsor</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 13 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="http://mgwinsor.dev/tags/concurrency/index.xml" rel="self" type="application/rss+xml"/><item><title>Async vs. Parallelism: Simply Explained</title><link>http://mgwinsor.dev/posts/async_vs_parallelism/</link><pubDate>Thu, 13 Feb 2025 20:11:19 +0800</pubDate><guid>http://mgwinsor.dev/posts/async_vs_parallelism/</guid><description>&lt;p>Recently, I have been exploring Go and &lt;del>JavaScript&lt;/del> TypeScript. Coming from
the Python world, parallel or asynchronous code was a completely foreign
concept. Sure, there are the
&lt;a href="https://docs.python.org/3/library/asyncio.html">asyncio&lt;/a> and
&lt;a href="https://docs.python.org/3/library/multiprocessing.html">multiprocessing&lt;/a>
packages in the standard library, but I&amp;rsquo;ve never had a good reason to actually
use them. Working in the data space with Python typically meant that I never
needed to worry about any of these concepts. They are just magically handled by
a library (e.g. Pandas, Spark, etc.). So what is asynchronous code? What is
parallel code? Are they actually meaningfully different?&lt;/p></description></item></channel></rss>