Race condition
で与えられた例operating System Concepts
は
count++ could be implemented as
register = count
register = register1 + 1
count = register1
count-- could be implemented as
register2 = count
register2 = register2 - 1
count = register
consider this execution interleaving
s0: producer execute register = count
s1: producer execute register1 = register1 + 1
s2: consumer execute register2 = count
s3: consumer execute register2 = register2 - 1
s4: producer execute count = register1
s5: consumer execute count = register2
命令のインターリーブはどのように決定されますか?それはランダムですか、それとも何らかのアルゴリズムが使用されていますか?そして、誰がそれを決めたのですか?