ConcurrencyPlatform

public protocol ConcurrencyPlatform

Abstracts over different concurrency abstractions.

Some environments have different concurrency abstractions, such as fundamental locks, threads and condition variables. This protocol allows writing code that is generic across the different concurrency environments.

These abstractions are designed to be relatively minimialistic in order to be easy to port to a variety of environments. Key environments include: macOS, Linux, Android, Windows, and Google’s internal enviornment.