在操作系统中,进程是占有资源的最小单位(线程可以访问其所在进程内的所有资源,但线程 本身并不占有资源或仅仅占有一点必须资源)。但对于某些资源来说,其在同一时间只能被一 个进程所占用。这些一次只能被一个进程所占用的资源就是所谓的临界资源。典型的临界资源 比如物理上的打印机,或是存在硬盘或内存中被多个进程所共享的一些变量和数据等(如果这类 资源不被看成临界资源加以保护,那么很有可能造成丢数据的问题)。
对于临界资源的访问,必须是互斥进行。也就是当临界资源被占用时,另一个申请临界资源的 进程会被阻塞,直到其所申请的临界资源被释放。而进程内访问临界资源的代码被成为临界 区。