线程在执行管程的某个子程序。与那些通过修改数据结构实现互斥访问的并发程序设计相比，管程实现很大程度上简化了程序设计。管程提供了一种机制，线程可以临时放弃互斥访问，等待某些条件得到满足后，重新获得执行权恢复它的互斥访问。管程是东尼·霍尔与泊·派克·汉森提出的，并由泊·派克·汉森首次在并行Pascal中实现。东尼·霍尔证明了这与信号量是等价的。管程在当时也被用于单作业系统环境中的进程间通讯。在程式语言，Pascal-Plus，Modula-2，Modula-3，Mesa以及Java中都提供这个