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