Concurrency 我对读者和作者的解决方案有效吗?
全局变量是:具有初始值Concurrency 我对读者和作者的解决方案有效吗?,concurrency,Concurrency,全局变量是:具有初始值1的信号量writers、具有初始值0的锁lock、整数count 以下是写入的算法: writers.down() ... writers.up() 以及阅读: lock.acquire() if count++ == 0: writers.down() lock.release() ... lock.acquire() if --count == 0: writers.up() lock.release() 我相信这是正确的。但我该如何严格地证明这一
1
的信号量writers
、具有初始值0
的锁lock
、整数count
以下是写入的算法:
writers.down()
...
writers.up()
以及阅读:
lock.acquire()
if count++ == 0:
writers.down()
lock.release()
...
lock.acquire()
if --count == 0:
writers.up()
lock.release()
我相信这是正确的。但我该如何严格地证明这一点呢