临界区段 Critical section
在同步的编程中,临界区段(Critical section)指的是一个访问共用资源(例如:共用设备或是共用内存)的程序片段,而这些共用资源有无法同时被多个线程访问的特性。
当有线程进入临界区段时,其他线程或是行程必须等待(例如:bounded waiting 等待法),有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥或的使用,例如:semaphore。
只能被单一线程访问的设备,例如:打印机。
一个最简单的实现方法就是当线程/线程(Thread)进入临界区段时,禁止改变处理器;在uni-processor系统上,可以用"禁止中断(CLI)"来完成,避免在运行上下文交换(Context switching)的时候发生系统调用(System Call);当离开临界区段时,处理器回复原先的状态。