为什么会出现同步互斥?大多数是因为我们要对某一个资源进行争夺。
- 同步是一种合作关系,为完成某种任务而建立的多个进程或者线程之间的协调调用,次序等待,传递消息告知资源占用情况。
- 互斥是一种制约关系,当一个进程或者多个进程进入临界区后会进行加锁操作,此时其他进程(线程)无法进入临界区,只有当该进程(线程)使用后进行解锁其他人才可以使用,这种技术往往是通过阻塞完成。
总结:
互斥:
两个线程之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行。
同步:
两个线程之间也不可以同时运行,但他是必须要按照某种次序来运行相应的线程(也是一种互斥)!
所以说:同步是一种更为复杂的互斥,而互斥是一种特殊的同步。