monitor

in concurrent programming, an object or module intended to be used safely by more than one thread