1、在任意给定时刻,只能允许一个进程使用一个临界资源,不允许两个或两个以上进程同时使用同一临界资源。
2、当任意一个进程使用临界资源时,必须在有限的时间内释放,不能无限制的占用而导致其他进程无法使用。另一方面当某个进程欲使用共享资源时,则应在其允许的时间达到目的,而不应该互相阻止导致“死锁”。
3、对进程使用临界资源顺序不做硬性规定,当某一进程申请使用临界进程的时候,只要临界资源未被占用,就应该允许进程使用,而不应该导致“饥饿”。
为了满足上述要求,在编制并发程序时,应该遵循下列4个条件:
1、每次只允许一个进程进入临界区,
2、当某一进程进入临界区,其他试图进入该临界区的进程必须等待。
3、当有多个进程申请进入同一临界区时,应在有限时间内让其中之一进入临界区。
4、位于临界区的进程只能在区内逗留有限的时间,且一旦离开临界区,则应该让某个等待的进程进入该临界区。