Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the develop branch, built from commit 9514ac8cfc.

Chapter 1. Boost.Sync v1

Vicente J. Botet Escriba

Andrey Semashev

Tim Blechmann

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at

Table of Contents

Installation and compatibility
Supported compilers and platforms
Configuring and building the library
Top level headers
Condition Variables
Other libraries support layer
Notes for maintainers

Boost.Sync is a collection of thread synchronization primitives. It provides components like mutexes, conditional variables, locks and more, with interfaces compatible with C++11 standard library and Boost.Thread components, with some extensions and refinements. In particular, Boost.Sync is not tied to a single time units library and instead contains an abstraction layer, which allows different time unit libraries, like C++11 std::chrono, Boost.Chrono and Boost.DateTime, to be used interchangeably. In addition, Boost.Sync offers thread synchronization components that are not available in C++11 standard library or Boost.Thread, which can be useful in more specialized cases.

Boost.Sync focuses on performance and reduced dependencies. Unlike Boost.Thread, Boost.Sync does not support thread interruption and therefore does not impose the associated performance overhead. Most components do not require linking with other libraries, including Boost.Sync itself.

Boost.Sync is compatible with C++03 compilers, and will use features available in newer C++ revisions, as detected.