A co-ordination mechanism that allows one or more threads to block until an operation is completed.