临界资源:对多个进程或者线程都可见的资源,容易造成争夺的资源,称之为临界资源。临界资源可能会造成程序执行的混乱。
临界区:对临界资源进行操作的代码区域称之为临界区,指的是一段执行代码;
解决资源争夺问题:同步或者互斥;
同步:同步是一种合作关系,为了完成某种任务而建立的多个进程或者线程之间的协调调用,次序等待,传递消息告知资源占用情况。
互斥:互斥是一种制约关系,当一个进程或者线程进入到临界区后会进行枷锁操作,此时其他进程(线程)无法进入临界区。只有当该进程(线程)使用后进行枷锁,其他人才可以使用,这种技术网网是通过阻塞完成的。
事件event:
e.set()#设置时间对象
e.wait()#提供时间的阻塞
e.clear()#清楚对事件的设置