<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>concurrency &amp;mdash;   christova  </title>
    <link>https://christova.writeas.com/tag:concurrency</link>
    <description>&lt;b&gt;&lt;h3&gt;Tech Articles&lt;/h3&gt;&lt;/b&gt;&lt;br/&gt;&lt;b&gt;Collated from various sources. Full copyright remains with original authors.&lt;/b&gt;</description>
    <pubDate>Fri, 29 May 2026 20:13:13 +0000</pubDate>
    <item>
      <title>Concurrency Concepts</title>
      <link>https://christova.writeas.com/concurrency-concepts?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[&#xA;&#xA;#concurrency #mustknow&#xA;&#xA;🧠 Why this matters more than you think&#xA;Concurrency is not just theory.&#xA;👉 It shows up in:&#xA;⚡ Backend systems&#xA;⚡ Distributed systems&#xA;⚡ Real-world bugs (race conditions, deadlocks)&#xA;⚡ Performance optimization&#xA;&#xA;And in interviews, it’s often the difference between “good” and “hire”&#xA;🔑 The 4 layers you should understand (instead of memorizing 20 items)&#xA;⚙️ Foundations&#xA;👉 Concurrency vs Parallelism&#xA;👉 Processes vs Threads&#xA;👉 Thread Lifecycle&#xA;&#xA;If you don’t get this, everything else feels random.&#xA;⚠️ Problems (where most bugs live)&#xA;👉 Race Conditions&#xA;👉 Deadlocks&#xA;👉 Livelocks&#xA;These are interview gold.&#xA;Explain them well → instant signal of experience.&#xA;&#xA;🔒 Control mechanisms&#xA;👉 Mutex&#xA;👉 Semaphores&#xA;👉 Condition Variables&#xA;👉 CAS (Compare-And-Swap)&#xA;This is how you fix the above problems.&#xA;&#xA;🧩 Patterns (what real systems use)&#xA;👉 Producer-Consumer&#xA;👉 Thread Pool&#xA;👉 Reader-Writer&#xA;👉 Blocking Queue&#xA;👉 Thread-safe Cache&#xA;This is where theory meets system design.&#xA;&#xA;🎯 How to actually study this (practical path)&#xA;Don’t just read definitions.&#xA;👉 Step 1: Understand the problem (e.g., race condition)&#xA;👉 Step 2: Learn the primitive (mutex, semaphore)&#xA;👉 Step 3: See it in a pattern (producer-consumer)&#xA;That’s how it sticks.&#xA;&#xA;🎥 Must read resources (shared by Aashish)&#xA;If you want to master concurrency and multi-threading interviews, go through these:&#xA;&#xA;Concurrency Overview: https://lnkd.in/gbXNtx8i&#xA;Concurrency vs Parallelism: https://lnkd.in/ggm3zxKi&#xA;Processes vs Threads: https://lnkd.in/gjD7BE9D&#xA;Thread Lifecycle: https://lnkd.in/gnraugyb&#xA;Race Conditions: https://lnkd.in/gJBaBWa5&#xA;Mutex: https://lnkd.in/gU-6SvJh&#xA;Semaphores: https://lnkd.in/gpcMAvvC&#xA;Condition Variables: https://lnkd.in/gzD3RdWy&#xA;Coarse vs Fine Locking: https://lnkd.in/giHCvjbK&#xA;Reentrant Locks: https://lnkd.in/gjjtEZrm&#xA;Try-Lock: https://lnkd.in/gc9Frvik&#xA;CAS: https://lnkd.in/gzzvSWW&#xA;Deadlock: https://lnkd.in/gKtDZ9gD&#xA;Livelock: https://lnkd.in/g8UTb86c&#xA;Signaling Pattern: https://lnkd.in/gg8RxZBf&#xA;Thread Pool: https://lnkd.in/g52TJUT3&#xA;Producer-Consumer: https://lnkd.in/g9PRh-6&#xA;Reader-Writer: https://lnkd.in/geAvZkRy&#xA;Thread-safe Cache: https://lnkd.in/gPW9JnkH&#xA;Blocking Queue: https://lnkd.in/gtKrDJiE&#xA;&#xA;📚 One book that will change your understanding&#xA;👉 “Java Concurrency in Practice” – Brian Goetz&#xA;&#xA;Even if you don’t use Java, this book builds rock-solid fundamentals.&#xA;&#xA;💡 Final takeaway&#xA;You don’t need to memorize all 20.&#xA;👉 Understand the patterns&#xA;👉 Know when things break&#xA;👉 Know how to fix them&#xA;That’s what interviews are really testing.&#xA;&#xA;This is the kind of resource you revisit again and again.]]&gt;</description>
      <content:encoded><![CDATA[<p><img src="https://i.snap.as/65rQsTbE.jpg" alt=""/></p>

<p><a href="https://christova.writeas.com/tag:concurrency" class="hashtag"><span>#</span><span class="p-category">concurrency</span></a> <a href="https://christova.writeas.com/tag:mustknow" class="hashtag"><span>#</span><span class="p-category">mustknow</span></a></p>

<p>🧠 Why this matters more than you think
Concurrency is not just theory.
👉 It shows up in:
⚡ Backend systems
⚡ Distributed systems
⚡ Real-world bugs (race conditions, deadlocks)
⚡ Performance optimization</p>

<p>And in interviews, it’s often the difference between “good” and “hire”
🔑 The 4 layers you should understand (instead of memorizing 20 items)
⚙️ Foundations
👉 Concurrency vs Parallelism
👉 Processes vs Threads
👉 Thread Lifecycle</p>

<p>If you don’t get this, everything else feels random.
⚠️ Problems (where most bugs live)
👉 Race Conditions
👉 Deadlocks
👉 Livelocks
These are interview gold.
Explain them well → instant signal of experience.</p>

<p>🔒 Control mechanisms
👉 Mutex
👉 Semaphores
👉 Condition Variables
👉 CAS (Compare-And-Swap)
This is how you fix the above problems.</p>

<p>🧩 Patterns (what real systems use)
👉 Producer-Consumer
👉 Thread Pool
👉 Reader-Writer
👉 Blocking Queue
👉 Thread-safe Cache
This is where theory meets system design.</p>

<p>🎯 How to actually study this (practical path)
Don’t just read definitions.
👉 Step 1: Understand the problem (e.g., race condition)
👉 Step 2: Learn the primitive (mutex, semaphore)
👉 Step 3: See it in a pattern (producer-consumer)
That’s how it sticks.</p>

<p>🎥 Must read resources (shared by Aashish)
If you want to master concurrency and multi-threading interviews, go through these:</p>

<p>Concurrency Overview: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgbXNtx8i&amp;urlhash=9VyX&amp;mt=ND2HjFtAi8fQ9MhDSIzQkD41qQ7LLLkJnOrJe7AV-lP5aZ-HsN3U09xQ9i2anN4CjKZJ79mtTLadnFShdOzbqWJlGCl3A66y2XBHiHNUK8RlvQ3o2JS8R2Ndqg&amp;isSdui=true">https://lnkd.in/gbXNtx8i</a></strong>
Concurrency vs Parallelism: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fggm3zxKi&amp;urlhash=hawW&amp;mt=mDfknRg1YHWUqDNmuetxvKiI-tSdBQ5c8Lhl8CwvretpdRi9Vt3oASRmZX7EbR5rwWfX5ZKKqu4PFcjMFTzp19-aFUOrtCRGYtk2qFmM5bxqUcxPGe-M5gTbkw&amp;isSdui=true">https://lnkd.in/ggm3zxKi</a></strong>
Processes vs Threads: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgjD7BE9D&amp;urlhash=wsq3&amp;mt=WlNcVAmqkViytokByEkQQMdT3IR0eZFTZipZZzopE04rmSHjJvBMqc2SHlxZ4YJeWKkc1nvBcVoz2BIKJYNAh23YY2nIxEc9nIpQEuKMikdmXvdwMVnTYw4GXg&amp;isSdui=true">https://lnkd.in/gjD7BE9D</a></strong>
Thread Lifecycle: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fgnraugyb&amp;urlhash=K66g&amp;mt=42aK7WbL9dT6sBb4i5Z_QvmDrIAPfYGBbOqLq1U3___EbA4xJAuhNFpu27S8wdj8nSVxyJLepphWfuw6L4qj0zyhULkeC22cdLj47InySzjJBBgVHZVZUFgmnw&amp;isSdui=true">https://lnkd.in/gnraugyb</a></strong>
Race Conditions: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgJBaBWa5&amp;urlhash=i46a&amp;mt=ixzrWhSSrbBO475k0FZ9NX4RAVgFPr4gUVkhmE05vSoJ769ym4jjd04UQHyhYA-dbi6nu4LtpL_pZQdW4Ie9JWdcZcO7CXS3KPpNqcS-on0I5-CDYzfvcZRgpQ&amp;isSdui=true">https://lnkd.in/gJBaBWa5</a></strong>
Mutex: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgU-6SvJh&amp;urlhash=iezH&amp;mt=Q9hERZgmxgCjnx-jmoBEHvLeMQgVkd7eQ24QsC-Z6WxVHh4rS3Ijyj869tmaXVKECe2aTJkfqA2liasIAafdXMuy5dxMtNcxELomu7H3rvGIMZRHA2gDnZQB_A&amp;isSdui=true">https://lnkd.in/gU-6SvJh</a></strong>
Semaphores: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgpcMAvvC&amp;urlhash=ZeHJ&amp;mt=lJ65peTwAkMrR4Vqc84CgnNm1n-TBN9evJjF4qGBdS0EJplqznyYKx0OPViskmqOTVoPoUUfDaGCp2LCufkduKBvlF_1KiCPyY7rO5aGAnfEenAx5O4GmFjPXw&amp;isSdui=true">https://lnkd.in/gpcMAvvC</a></strong>
Condition Variables: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgzD3RdWy&amp;urlhash=XmC6&amp;mt=gZZLZOXyGSnudkddDOIaFc-486XoNCbRZ0iGAJwU6JYihugQRgiAg4IXU_40SDMRsLhzRS7ZsFan222B6hJ3a-kNZzAOKI-P4q6Nnzt1nJdR7sqNF1h0ZvjGDw&amp;isSdui=true">https://lnkd.in/gzD3RdWy</a></strong>
Coarse vs Fine Locking: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgiHCvjbK&amp;urlhash=EnS1&amp;mt=-L_MvYu5yaOjQxsv7xgPgsCx-ta61afUxsYqHljvlaQDdWZICSOQM0gLnMxuIpFlO8fycv91j_ymi1cV4d-kFSzYYDcK3sXjmG6Q6eNGnZOXj0m8hGY_QxcyTg&amp;isSdui=true">https://lnkd.in/giHCvjbK</a></strong>
Reentrant Locks: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgjjtEZrm&amp;urlhash=g7j1&amp;mt=1zR_JjdyuSCDc9OBpAT3NiGh5ZV0eWq-F-UgMjBPXlc2H_e7nFVN89j4rkucOG2CpQa0nvStpFQrq_9oRC9igjIFWiELGwInIA7Fk5vGS7pP_eBZwq6GjAo9UA&amp;isSdui=true">https://lnkd.in/gjjtEZrm</a></strong>
Try-Lock: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fgc9Frvik&amp;urlhash=_-UN&amp;mt=Xaebb6ur_ynPeJUU32q_LRtZdBicWzvLqVN_OMy4UIaYwiUdnoYs59xV9M9wLV9M72iXNqHUZlZeEeLFp4XsO7RQxXEhtL3cO0SQQTpr7nvcZiqKLyV6mPc3XA&amp;isSdui=true">https://lnkd.in/gc9Frvik</a></strong>
CAS: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgzzvSW_W&amp;urlhash=VR8h&amp;mt=XKRhpSfL-D_yaosSwCG63iOCGmLePzLUBJUg3qyJpECAEeZI6Ms2cic3ExvVN_J3Mkqrq_al9_hJDijQX9qapEw0q3DKewiAwt9lVLnX0bWEGr0pqYk7KXvNSQ&amp;isSdui=true">https://lnkd.in/gzzvSW_W</a></strong>
Deadlock: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgKtDZ9gD&amp;urlhash=XBVs&amp;mt=qL6rCP1RMJ38x7De8lePrlTigPIN56mROz-yikd1IfJCvQ9bqUI9Q50oTE08phE-MEpf-uYC9TabO8sYGg5EL3GQ6v6CNu881qKB7ZD7Ow3NjU_lptclAXKPiw&amp;isSdui=true">https://lnkd.in/gKtDZ9gD</a></strong>
Livelock: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fg8UTb86c&amp;urlhash=7xwL&amp;mt=XZ1vcqL0nVwpIOR7IIH7GwFo1ZP0XvMaDYZXYL-uWKzBgV3ng64lTah9e8VZIvAC2x1vbrnky_X5S4xAOFJsOfpwykOlzF3CibllXv04dSU2L7UrML2_xYxnYQ&amp;isSdui=true">https://lnkd.in/g8UTb86c</a></strong>
Signaling Pattern: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fgg8RxZBf&amp;urlhash=9mCm&amp;mt=obKxlp1Q63xuWy2Q665wrJNDAeLMUBb3lXu9_zRfiK5-VXhaKUqrfxC1JxUtL3tN0OMI3VkJDE6LiAjqES4b5k9CJ_TR2YM1L8B0RkmoqE6Ijv7HfSVr86hSrg&amp;isSdui=true">https://lnkd.in/gg8RxZBf</a></strong>
Thread Pool: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fg52TJUT3&amp;urlhash=56D6&amp;mt=RUDvxZlDiQzHzkuCRD0kPLmyObn5TFDZm_GL3q93uU4emaw_0MiqXUQzDFsg3QJv7BMUZrYhjk46h5tp2t7SXwuwv8pNn0-Pp18NFFbSDG8skjWSii4SMdeAMA&amp;isSdui=true">https://lnkd.in/g52TJUT3</a></strong>
Producer-Consumer: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fg9P_Rh-6&amp;urlhash=fBA3&amp;mt=JQNdM1VLwEJ1ks2omqDoYYEYbxrNUp4y59FwfyEE7k7bzWQTNi_-gcBji5RBlTkVzXYD8vkugDSMc-hGaRcTgu80oqXpApvSrJAvtV50Mv_T8K8Jiho2zhWEeg&amp;isSdui=true">https://lnkd.in/g9P_Rh-6</a></strong>
Reader-Writer: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgeAvZkRy&amp;urlhash=TorE&amp;mt=j47Px9n29N8QasuYT7OAL6sD2h2y8t8bAts7lOvuvvIsPLAFRefiPx5-e6DuDLluYcqMmBNIP6Vi3ualjbzwVb-dlcJ1HfltxTFzC_m2UNXOYCq4wiYaXkx9FA&amp;isSdui=true">https://lnkd.in/geAvZkRy</a></strong>
Thread-safe Cache: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgPW9JnkH&amp;urlhash=s86w&amp;mt=O8blqueoj2KWd5vWdj30wX49CDrrINJuxCMoJ2Uote0D7RpRlG6tCN-HrwdeYmXryOjnQTghiecvku6iteD5-RoBoawxRD-ZYlwUd3uMtz2BWWI3VlLcEL1wNw&amp;isSdui=true">https://lnkd.in/gPW9JnkH</a></strong>
Blocking Queue: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgtKrDJiE&amp;urlhash=7SMp&amp;mt=9AEhRJuOcjc5rmpehAXhFHFThJhkMP6FugoJLwErDxE7Y7VTHPArMa9OGUL19N1GwfOZzp9IsPE0e4ab9wjzqzIoyPr5ekuC7LPWlPckJt8aH0_dLmys22yokA&amp;isSdui=true">https://lnkd.in/gtKrDJiE</a></strong></p>

<p>📚 One book that will change your understanding
👉 “Java Concurrency in Practice” – Brian Goetz</p>

<p>Even if you don’t use Java, this book builds rock-solid fundamentals.</p>

<p>💡 Final takeaway
You don’t need to memorize all 20.
👉 Understand the patterns
👉 Know when things break
👉 Know how to fix them
That’s what interviews are really testing.</p>

<p>This is the kind of resource you revisit again and again.</p>
]]></content:encoded>
      <guid>https://christova.writeas.com/concurrency-concepts</guid>
      <pubDate>Sun, 10 May 2026 04:14:55 +0000</pubDate>
    </item>
    <item>
      <title>20 Must-Know Concurrency Concepts</title>
      <link>https://christova.writeas.com/20-must-know-concurrency-concepts?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[&#xA;&#xA;#concurrency #threads #thread-safe #queue #locks &#xA;&#xA;1\. Concurrency Overview: https://lnkd.in/gbXNtx8i&#xA;2\. Concurrency vs Parallelism: https://lnkd.in/ggm3zxKi&#xA;3\. Processes vs Threads: https://lnkd.in/gjD7BE9D&#xA;4\. Thread Lifecycle: https://lnkd.in/gnraugyb&#xA;5\. Race Conditions: https://lnkd.in/gJBaBWa5&#xA;6\. Mutex: https://lnkd.in/gU-6SvJh&#xA;7\. Semaphores: https://lnkd.in/gpcMAvvC&#xA;8\. Condition Variables: https://lnkd.in/gzD3RdWy&#xA;9\. Coarse-grained vs Fine-grained Locking: https://lnkd.in/giHCvjbK&#xA;10\. Reentrant Locks: https://lnkd.in/gjjtEZrm&#xA;11\. Try-Lock: https://lnkd.in/gc9Frvik&#xA;12\. Compare-and-Swap (CAS): https://lnkd.in/gzzvSWW&#xA;13\. Deadlock: https://lnkd.in/gKtDZ9gD&#xA;14\. Livelock: https://lnkd.in/g8UTb86c&#xA;15\. Signaling Pattern: https://lnkd.in/gg8RxZBf&#xA;16\. Thread Pool Pattern: https://lnkd.in/g52TJUT3&#xA;17\. Producer-Consumer Pattern: https://lnkd.in/g9PRh-6&#xA;18\. Reader-Writer Pattern: https://lnkd.in/geAvZkRy&#xA;19\. Thread-Safe Cache: https://lnkd.in/gPW9JnkH&#xA;20\. Thread-Safe Blocking Queue: https://lnkd.in/gtKrDJiE]]&gt;</description>
      <content:encoded><![CDATA[<p><img src="https://i.snap.as/L5UURTQ5.jpg" alt=""/></p>

<p><a href="https://christova.writeas.com/tag:concurrency" class="hashtag"><span>#</span><span class="p-category">concurrency</span></a> <a href="https://christova.writeas.com/tag:threads" class="hashtag"><span>#</span><span class="p-category">threads</span></a> <a href="https://christova.writeas.com/tag:thread" class="hashtag"><span>#</span><span class="p-category">thread</span></a>-safe <a href="https://christova.writeas.com/tag:queue" class="hashtag"><span>#</span><span class="p-category">queue</span></a> <a href="https://christova.writeas.com/tag:locks" class="hashtag"><span>#</span><span class="p-category">locks</span></a></p>

<p>1. Concurrency Overview: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgbXNtx8i&amp;urlhash=9VyX&amp;mt=jC9X8_1pMX-UZbh9saFIBhjXYg_jkypW2Sh_PcD4SESYR0kFGUock2oTutMMRFMhiRPKhZK06qQRtUanZBVIGfML9FWe43uf4Avzti47d-eep9OKXhhxXbewIQ&amp;isSdui=true">https://lnkd.in/gbXNtx8i</a></strong>
2. Concurrency vs Parallelism: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fggm3zxKi&amp;urlhash=hawW&amp;mt=SBiB-J977LzWgsLuhywqhqqpmntQiPf9vZZLeVhIIhU6fJlFVaBwvZB9KdNWbfO64j0iT-4fcvQBBmGG8y8S_wBAOVRkpU49SDCHNC9TBLMNfcuwZJA_63UVNg&amp;isSdui=true">https://lnkd.in/ggm3zxKi</a></strong>
3. Processes vs Threads: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgjD7BE9D&amp;urlhash=wsq3&amp;mt=TRMtrIuhpoU_ak0G-KLBi_ecKIulyHask8HaFkoon9MHuvBpQsnZgIprijk3CJ75Y1C_HAN57wRoDiow4o488COWisBSSVUGlw2Z22aUz74JGpCUqVI4POwkyQ&amp;isSdui=true">https://lnkd.in/gjD7BE9D</a></strong>
4. Thread Lifecycle: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fgnraugyb&amp;urlhash=K66g&amp;mt=CFxn1Jnv-pggntJRhjLyl5gD5YHu_ClrUGH4Lj9GP5pp0dB5h0ykoZzcgLxd58ylsVYB4Rd8Y9O0e3YZzCDtypacCVSQIEDMS8plCi3L0ixzITH2VEN0lBM4Gg&amp;isSdui=true">https://lnkd.in/gnraugyb</a></strong>
5. Race Conditions: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgJBaBWa5&amp;urlhash=i46a&amp;mt=LPO-0EDd-4iUXqPKbZTN-0V9Bv7ZtdupXrHjlcf75fFOLVA4WO2nybLaIDhqwUQyrGacPSMonPmgazWMqo4RgGwKfq6NJAQO4UWpgehZSNf-XWElbfR7MBm25g&amp;isSdui=true">https://lnkd.in/gJBaBWa5</a></strong>
6. Mutex: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgU-6SvJh&amp;urlhash=iezH&amp;mt=uZEQ2qY7QWzM1qYfdNd6FkeoegSoJRWt2fBywxhs5-bndwPUYPGhPW7off7b7jX1UPxpznOpiIG3xCok9DlLZClyG_ya-IjKG-9Z_BebAVOhcudrHM49nDfwGg&amp;isSdui=true">https://lnkd.in/gU-6SvJh</a></strong>
7. Semaphores: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgpcMAvvC&amp;urlhash=ZeHJ&amp;mt=jE5dWhrwWPLaIq7-EA4vL0Z7wJGFpokuMCj93kASEjYp16xuTPcgZPN5aDIB9kZiQxmjg8780SU4jcEhU4mrvhYklm73PxpIz2Xd6sAe27AkJ43Yg2U55UlYuA&amp;isSdui=true">https://lnkd.in/gpcMAvvC</a></strong>
8. Condition Variables: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgzD3RdWy&amp;urlhash=XmC6&amp;mt=QdsHEq9ZT0cyZKPNxBIJm7qZQggn7G7fs7Ofwugu9Xc1QRI7UMaOsM9b9zNn1hcWgqzJuJk4dDJ8WrsuEX-A1K0itTzS5_xzfzcT3BWqMJUo67HYwRDxFgRs2w&amp;isSdui=true">https://lnkd.in/gzD3RdWy</a></strong>
9. Coarse-grained vs Fine-grained Locking: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgiHCvjbK&amp;urlhash=EnS1&amp;mt=qZ0kuTZYfqgDScClda9EzhRF1O9t5Bc-zTj_btCOHCaqXGSyZjnfwyWOUYjVXdTZp3G37A3qyIWAUTdEH46sdLbFKQajz0W1FO4xdKEtQg_ldD837pOb7YiKHQ&amp;isSdui=true">https://lnkd.in/giHCvjbK</a></strong>
10. Reentrant Locks: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgjjtEZrm&amp;urlhash=g7j1&amp;mt=UW9_7gjVFxXLaW1rHbalCv88AqVaEX7daRVce8fbnqtsO_T26jRXLSYAm8DDzrep0n9qdOhfdCQENM_UrcDKygLoCIVsNzqFmi1p6RWLGAtuutENcmK1b2nnug&amp;isSdui=true">https://lnkd.in/gjjtEZrm</a></strong>
11. Try-Lock: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fgc9Frvik&amp;urlhash=_-UN&amp;mt=82C8ygzGqevz1G8olY3TozqPxf6jByCxQd7ClvkKQ9te8OpTxjKQD6gxO3W97LDNIo5T2rjqHTr2LIWEAArt4Se3VtrxoZ_Ty7B4UiaKxVGOjJPVeRqaFJ8mEg&amp;isSdui=true">https://lnkd.in/gc9Frvik</a></strong>
12. Compare-and-Swap (CAS): <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgzzvSW_W&amp;urlhash=VR8h&amp;mt=GunmSaV1l9fTNYWSjZXcTJ09-ip0FSMuPtuTZXArsBMa6sgZncPLnxHiUFHhUOKjFQMMyz29hSwwzIg-UXGbmzoKcW7lgEYjk0Ao3CWc1in9aaxOGcA9rNfzpw&amp;isSdui=true">https://lnkd.in/gzzvSW_W</a></strong>
13. Deadlock: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgKtDZ9gD&amp;urlhash=XBVs&amp;mt=lEsOCjwgnTi0WF1nc-kLijiUQzVvrstG4IAuBkjHm0xLzdEvkj2StItQ6ep9aJvs4kXXyomZddpdopisrZngxKklM9bD7jp00gXh5TtWe91gELzafhk2VWWi-Q&amp;isSdui=true">https://lnkd.in/gKtDZ9gD</a></strong>
14. Livelock: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fg8UTb86c&amp;urlhash=7xwL&amp;mt=9PoXipZSxHRrl8rA-u_2pK65BfwKM-0LGHHSXPesZtgLqKhWOz2pX_1Db_Nopu-79jAyfUmX0ORIhAg0LhCaSeo8RFPQdtMprQLMsZ676-p7qoHaNfPsa1B2QQ&amp;isSdui=true">https://lnkd.in/g8UTb86c</a></strong>
15. Signaling Pattern: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fgg8RxZBf&amp;urlhash=9mCm&amp;mt=5y4ZcinzCEm5WDiHhQ_eKM1atRAf3jwFO9KOKkO7yh8ceyrWgejHT3vKFsZ-Guwy7j4NGGQl5vCuqZ5RSEg1feQpKjg3-moLbL8oVzcIJHApoyAwbB_YeQwCjA&amp;isSdui=true">https://lnkd.in/gg8RxZBf</a></strong>
16. Thread Pool Pattern: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fg52TJUT3&amp;urlhash=56D6&amp;mt=vy11LY8wFM7xDd06ZBzYeRFaQRBnkvo4hSF64x5m6Rsl-sQVqi7YuzgraZ65Bu97FtMuorpSMdgHvTNHFLg1BFTddPYcmtfnkLa-cA-d4_mWdQsfx02EL7UQ8Q&amp;isSdui=true">https://lnkd.in/g52TJUT3</a></strong>
17. Producer-Consumer Pattern: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2Fg9P_Rh-6&amp;urlhash=fBA3&amp;mt=M_IMDn5biGLrVBoMixrqzmLD58mpcXiwMr7-haDdUcXWkQbrPu9RaxwS76BmRj21ZxsO0PxJHky3IOR3StCZVTyyXWbdWLZznx-m2O_J1mniTctm07ZjDIlqVQ&amp;isSdui=true">https://lnkd.in/g9P_Rh-6</a></strong>
18. Reader-Writer Pattern: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgeAvZkRy&amp;urlhash=TorE&amp;mt=IGmI1-JK-oS2gyso7WMAMnHvRT55CdEXIQsmHkfaXlBQY499YEKgwzxtj8jdAiCKM1WpbxKcx57rO7FqEOsURlyFZj3-th5PcjFb61jCt-V8m_k2_fMaosyaSQ&amp;isSdui=true">https://lnkd.in/geAvZkRy</a></strong>
19. Thread-Safe Cache: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgPW9JnkH&amp;urlhash=s86w&amp;mt=wCq8748YY9EBYD6Y--9srxiQxD1Ga-Qz71FLFIKDaTs3Fe_EJ1sgnZgfq4hDcYJgOzitRDOMgoMdfbn2YqseUdt3T3I9ExnZ1vwaizH6HLUKJu2He0LYLkpF-w&amp;isSdui=true">https://lnkd.in/gPW9JnkH</a></strong>
20. Thread-Safe Blocking Queue: <strong><a href="https://www.linkedin.com/safety/go/?url=https%3A%2F%2Flnkd%2Ein%2FgtKrDJiE&amp;urlhash=7SMp&amp;mt=ke4BfJOWsAvduFrTg67pgAPpVtgM047JbXd5wa8ORUYFwW5p1eJmtaJOs9kGYtL0SLsOmtBrXyz-DRJIWo7GBTTEha6EZBSf-kCJn4hIX6FBEy1nDAh0rho8Tg&amp;isSdui=true">https://lnkd.in/gtKrDJiE</a></strong></p>
]]></content:encoded>
      <guid>https://christova.writeas.com/20-must-know-concurrency-concepts</guid>
      <pubDate>Tue, 21 Apr 2026 12:58:00 +0000</pubDate>
    </item>
    <item>
      <title>Multithreading and Concurrency in Java</title>
      <link>https://christova.writeas.com/multithreading-and-concurrency-in-java?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[&#xA;&#xA;#Java #Multithreading #Concurrency]]&gt;</description>
      <content:encoded><![CDATA[<p><img src="https://i.snap.as/21lvLIxw.webp" alt=""/></p>

<p><a href="https://christova.writeas.com/tag:Java" class="hashtag"><span>#</span><span class="p-category">Java</span></a> <a href="https://christova.writeas.com/tag:Multithreading" class="hashtag"><span>#</span><span class="p-category">Multithreading</span></a> <a href="https://christova.writeas.com/tag:Concurrency" class="hashtag"><span>#</span><span class="p-category">Concurrency</span></a></p>
]]></content:encoded>
      <guid>https://christova.writeas.com/multithreading-and-concurrency-in-java</guid>
      <pubDate>Thu, 19 Feb 2026 11:24:19 +0000</pubDate>
    </item>
    <item>
      <title>Concurrency is NOT Parallelism</title>
      <link>https://christova.writeas.com/concurrency-is-not-parallelism?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[&#xA;&#xA;#Concurrency #Parallelism]]&gt;</description>
      <content:encoded><![CDATA[<p><img src="https://substackcdn.com/image/fetch/$s_!-Di8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd69b3af-acca-4371-9faa-4b0a0bc8fb34.tif" alt=""/></p>

<p><a href="https://christova.writeas.com/tag:Concurrency" class="hashtag"><span>#</span><span class="p-category">Concurrency</span></a> <a href="https://christova.writeas.com/tag:Parallelism" class="hashtag"><span>#</span><span class="p-category">Parallelism</span></a></p>
]]></content:encoded>
      <guid>https://christova.writeas.com/concurrency-is-not-parallelism</guid>
      <pubDate>Tue, 10 Feb 2026 12:01:17 +0000</pubDate>
    </item>
    <item>
      <title>Concurrency vs Parallelism</title>
      <link>https://christova.writeas.com/concurrency-vs-parallelism?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[&#xA;&#xA;Things Every Developer Should Know: &#xA;&#xA;Concurrency is 𝐍𝐎𝐓 parallelism. &#xA;&#xA;In system design, it is important to understand the difference between concurrency and parallelism. &#xA;&#xA;As Rob Pyke(one of the creators of GoLang) stated:“ Concurrency is about 𝐝𝐞𝐚𝐥𝐢𝐧𝐠 𝐰𝐢𝐭𝐡 lots of things at once. Parallelism is about 𝐝𝐨𝐢𝐧𝐠 lots of things at once.&#34; This distinction emphasizes that concurrency is more about the 𝐝𝐞𝐬𝐢𝐠𝐧 of a program, while parallelism is about the 𝐞𝐱𝐞𝐜𝐮𝐭𝐢𝐨𝐧. &#xA;&#xA;Concurrency is about dealing with multiple things at once. It involves structuring a program to handle multiple tasks simultaneously, where the tasks can start, run, and complete in overlapping time periods, but not necessarily at the same instant. &#xA;&#xA;Concurrency is about the composition of independently executing processes and describes a program&#39;s ability to manage multiple tasks by making progress on them without necessarily completing one before it starts another. &#xA;&#xA;Parallelism, on the other hand, refers to the simultaneous execution of multiple computations. It is the technique of running two or more tasks or computations at the same time, utilizing multiple processors or cores within a computer to perform several operations concurrently. Parallelism requires hardware with multiple processing units, and its primary goal is to increase the throughput and computational speed of a system. &#xA;&#xA;In practical terms, concurrency enables a program to remain responsive to input, perform background tasks, and handle multiple operations in a seemingly simultaneous manner, even on a single-core processor. It&#39;s particularly useful in I/O-bound and high-latency operations where programs need to wait for external events, such as file, network, or user interactions. &#xA;&#xA;Parallelism, with its ability to perform multiple operations at the same time, is crucial in CPU-bound tasks where computational speed and throughput are the bottlenecks. Applications that require heavy mathematical computations, data analysis, image processing, and real-time processing can significantly benefit from parallel execution.&#xA;&#xA;#concurrency #parallelism]]&gt;</description>
      <content:encoded><![CDATA[<p><img src="https://i.snap.as/SeWPXkEW.jpg" alt=""/></p>

<p><strong>Things Every Developer Should Know</strong>:</p>

<p>Concurrency is 𝐍𝐎𝐓 parallelism.</p>

<p>In system design, it is important to understand the difference between concurrency and parallelism.</p>

<p>As Rob Pyke(one of the creators of GoLang) stated:“ Concurrency is about 𝐝𝐞𝐚𝐥𝐢𝐧𝐠 𝐰𝐢𝐭𝐡 lots of things at once. Parallelism is about 𝐝𝐨𝐢𝐧𝐠 lots of things at once.” This distinction emphasizes that concurrency is more about the 𝐝𝐞𝐬𝐢𝐠𝐧 of a program, while parallelism is about the 𝐞𝐱𝐞𝐜𝐮𝐭𝐢𝐨𝐧.</p>

<p>Concurrency is about dealing with multiple things at once. It involves structuring a program to handle multiple tasks simultaneously, where the tasks can start, run, and complete in overlapping time periods, but not necessarily at the same instant.</p>

<p>Concurrency is about the composition of independently executing processes and describes a program&#39;s ability to manage multiple tasks by making progress on them without necessarily completing one before it starts another.</p>

<p>Parallelism, on the other hand, refers to the simultaneous execution of multiple computations. It is the technique of running two or more tasks or computations at the same time, utilizing multiple processors or cores within a computer to perform several operations concurrently. Parallelism requires hardware with multiple processing units, and its primary goal is to increase the throughput and computational speed of a system.</p>

<p>In practical terms, concurrency enables a program to remain responsive to input, perform background tasks, and handle multiple operations in a seemingly simultaneous manner, even on a single-core processor. It&#39;s particularly useful in I/O-bound and high-latency operations where programs need to wait for external events, such as file, network, or user interactions.</p>

<p>Parallelism, with its ability to perform multiple operations at the same time, is crucial in CPU-bound tasks where computational speed and throughput are the bottlenecks. Applications that require heavy mathematical computations, data analysis, image processing, and real-time processing can significantly benefit from parallel execution.</p>

<p><a href="https://christova.writeas.com/tag:concurrency" class="hashtag"><span>#</span><span class="p-category">concurrency</span></a> <a href="https://christova.writeas.com/tag:parallelism" class="hashtag"><span>#</span><span class="p-category">parallelism</span></a></p>
]]></content:encoded>
      <guid>https://christova.writeas.com/concurrency-vs-parallelism</guid>
      <pubDate>Sun, 24 Nov 2024 09:53:47 +0000</pubDate>
    </item>
  </channel>
</rss>