What went wrong with the libdispatch. A tale of caution for the future of concurrency.

Apple's Grand Central Dispatch (GCD or libdispatch) provides support for concurrent code execution on multicore hardware. It aims to remove the need for developers to directly manage threads, enabling them to instead think in terms of queues of work. In this very interesting post, Thomas examines some of the problems of using libdispatch, offering words of caution for the future of concurrency in Swift.

Swift globals and static members are atomic and lazily computed

A lazy stored property in Swift is a property whose initial value is not calculated until the first time it used. This is useful as it allows us to delay the initialization of a property that requires a computationally expensive setup until that property is actually needed. In this post, Jesse Squires reminds us that Swift globals and static members are also lazily initialized, and he explains how the concept of atomicity is distinct from the concept of thread-safety.