Lock-free in Swift: ABA ProblemIn the previous article, we talked about using atomic primitives. Today, we will cover one of the main challenges in lock-free algorithms…Jun 24Jun 24
Lock-Free in Swift: Memory model and Peterson’s algorithmToday we will continue to explore atomics and the lock-free topic we started in the previous article. We will discuss the memory model that…Dec 28, 2023Dec 28, 2023
GCD Primitives in Depth: Serial QueueIn the previous article, we implemented DispatchSemaphore and DispatchGroup ourselves. Today, we will develop a simplified version of…May 5, 2023May 5, 2023
Lock-free in Swift: BarriersI want to start another series of articles about lock-free algorithms and how we can implement them using swift atomics framework. It’s a…Dec 14, 20221Dec 14, 20221
GCD Primitives in Depth: Semaphore and GroupIn this article, we will implement some of the GCD classes using low-level primitives to understand how GCD is actually functioning.Oct 19, 20221Oct 19, 20221
GCD Part 5: DispatchSource and Target Queue HierarchyIn this article, we will discuss some niche concepts such as DispatchSource and target queue hierarchy.Apr 18, 2022Apr 18, 2022
GCD Part 4: SynchronizationThe topic of today’s article is synchronization. It’s one of the most important concepts in multithreading. And we will see how we can…Nov 19, 2021Nov 19, 2021
GCD Part 3: DispatchGroup and concurrentPerformToday we will consider one of the most useful GCD components DispatchGroup and also we will take a look at the concurrentPerform method and…Sep 16, 2021Sep 16, 2021
GCD Part 2: DispatchWorkItem and Quality of ServiceThis is the second part of the GCD series and here we will discuss QoS and DispatchWorkItem.Jul 2, 2021Jul 2, 2021
GCD Part 1: Queues and methodsI would like to start a series of articles about Grand Central Dispatch (GCD). GCD or libdispatch is one the most popular instruments for…May 26, 20211May 26, 20211