A synchronization construct with the ability to wait until signalled that a condition was met.