访问临界资源的代码区被成为临界区,每次仅容许一个执行块进入临界区。一个线程进入了临界区而后由于系统调度而被打断,但此时他仍是在临界区中的,因此此时其余执行线程仍是不被容许进入临界区编程
特定的共享数据区在一次访问过程当中,不容许其余的访问穿插访问的情景。好比修改一个共享数据的时候不能容许其余的代码来同时访问(读和写有时候不必定都不被容许,和具体的业务需求相关)。好比对一个文件的写入过程不能被其余写入操做穿插执行,不然此时就会出现实际写入的内容和指望不符合。操作系统
特定的临界代码不容许被打断,好比操做系统的调度或者中断程序的执行中断了特定代码段的执行,这种状况很少见但也是临界区的一种,好比常见的IAP代码中须要对Flash进行在线编程,大部分的芯片实现都是要求按必定的操做序列进行flash的编程解锁此时这个过程就是临界的由于若是中间产生了中断或系统调用致使操做序列中间被插入其余的操做就会致使硬件判断解锁序列非法进而没法正常编程flash。线程