全局变量包括:信号量writers
,初始值为1
,锁定lock
,整数count
的初始值为0
。
这是写作的算法:
writers.down()
...
writers.up()
阅读:
lock.acquire()
if count++ == 0:
writers.down()
lock.release()
...
lock.acquire()
if --count == 0:
writers.up()
lock.release()
我认为这是正确的。但是我该如何严格证明这一点呢?