Synchronization library provides a compile-time policy-based configurable facility of selecting synchronization mechanisms. For now there is only no-op synchronization policy provided which is suitable only for single-threaded applications. However it shouldn't be difficult to provide a wrapper policy for synchronization mechanisms used in a particular project.
Below are the definitions of the key classes: