# The parallel\Sync class

(1.1.0)

## Low Level Synchronization

The parallel\Sync class provides access to low level synchronization primitives, mutex, condition variables, and allows the implementation of semaphores.

Synchronization for most applications is much better implemented using channels, however, in some cases authors of low level code may find it useful to be able to access these lower level mechanisms.

## Class synopsis

final parallel\Sync {
/* Constructor */
public __construct ( )
public __construct ( scalar `$value` )
/* Access */
public get ( ) : scalar
public set ( scalar `$value` )
/* Synchronization */
public wait ( )
public notify ([ bool `$all` ] )
public __invoke ( callable `$critical` )
}

## Table of Contents

- parallel\Sync::__construct — Construction
- parallel\Sync::get — Access
- parallel\Sync::set — Access
- parallel\Sync::wait — Synchronization
- parallel\Sync::notify — Synchronization
- parallel\Sync::__invoke — Synchronization