15-同步
7.6 同步
竞争的最根本的源头在于临界区是个窗口,在这个窗口内,正确的程序行为要求线程不要交叉执行。为了阻止竞争条件,程序员需要在这个窗口内执行同步访问操作,确保对临界区以互斥的方式访问。
在计算机科学中,如果一个操作(或一组操作)不可分割,我们就称该操作是原子性的(atomic),不能和其他操作交叉。对于系统的其他部分而言,原子操作看起来是瞬间发生的,而这正是临界区的问题:这些区域不是不可分割,也不是瞬间发生的,它们不是原子的。
竞争的最根本的源头在于临界区是个窗口,在这个窗口内,正确的程序行为要求线程不要交叉执行。为了阻止竞争条件,程序员需要在这个窗口内执行同步访问操作,确保对临界区以互斥的方式访问。
在计算机科学中,如果一个操作(或一组操作)不可分割,我们就称该操作是原子性的(atomic),不能和其他操作交叉。对于系统的其他部分而言,原子操作看起来是瞬间发生的,而这正是临界区的问题:这些区域不是不可分割,也不是瞬间发生的,它们不是原子的。