<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Concurrent on Kailun's Blog</title><link>https://elated-hopper-5c0cb3.netlify.app/tags/concurrent/</link><description>Recent content in Concurrent on Kailun's Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 28 Dec 2019 12:38:25 -0500</lastBuildDate><atom:link href="https://elated-hopper-5c0cb3.netlify.app/tags/concurrent/index.xml" rel="self" type="application/rss+xml"/><item><title>Revisit Concurrent Programming in Java -- Threads and Locks</title><link>https://elated-hopper-5c0cb3.netlify.app/posts/java-concurrent/</link><pubDate>Sat, 28 Dec 2019 12:38:25 -0500</pubDate><guid>https://elated-hopper-5c0cb3.netlify.app/posts/java-concurrent/</guid><description>&lt;p&gt;Not long ago I went through the &amp;ldquo;Concurrent Programming in Java&amp;rdquo; course on Coursera. Though the contents involved are very fundamental, I felt it&amp;rsquo;s necessary to give them a revisit since they are building blocks of more advanced contents in concurrent world.&lt;/p&gt;
&lt;h1 id="overview"&gt;Overview&lt;/h1&gt;
&lt;p&gt;Overall, I figured this course followed a bottom-up approach. It first introduces low-level Java concurrent primitives, and then go through some of the higher-level approaches that solve some of the problems when programming with the low-level concepts. From that end, it discussed some of the concurrent data structures, and formally introduced linearizability, which is the correctness requirement of any concurrent data structure.&lt;/p&gt;</description></item></channel></rss>