1、同步
同步是直接制约关系。多个进程合作完成一件事,需要协调他们的工作次序,比如进程A向进程B通过单缓冲区提供数据,当缓冲区为空时,进程B无法获取数据,被阻塞。当进程A将数据送入缓冲区时,通知进程B,进程B被唤醒。
2、互斥
互斥是间接制约关系。
临界资源:同一时刻只允许一个访问者访问的资源成为临界资源,访问临界资源的那段代码成为临界区。
当一个进程进入临界区使用临界资源时,另一个也需要使用临界资源的进程需要等待,直到那个进程退出临界区,方可访问。