同步与互斥
互斥:指某一资源同时只能允许一个访问者对其访问,具有唯一性和排它性。但无法限制访问者对其访问顺序,即访问是无序的
同步:是指互斥基础上,通过其他几只实现资源的有序访问,大多情况同步已经实现了互斥。
线程同步的机制和方式:
1、临界区、互斥对象:主要用于互斥控制;都具有拥有权的控制方法,只有拥有该对象的线程才能执行任务,所以执行完后要释放该对象。
2、信号量、时间对象:时间对象是以同志方式进行控制,主要用于同步的控制。
1、临界区:通过线程串行化来控制访问公共资源的一段代码,速度快。在任意一个时刻,只能保证一个线程对共享资源进行访问。
2、互斥对象:互斥对象和临界区有点像,采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以能保证公共资源不能同时被多个线程访问。
3、信号量:信号量是内核对象,允许多个线程统一时刻同时访问同一资源,但是需要限制同时访问资源的线程数量
4、事件对象:通过通知操作的方式来保持线程同步,