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.