N****p 发帖数: 1691 | 1 考虑一个Read-Write Lock
为了验证MT正确,把每个action对应的message打印出来,每个action一行message。于
是有两个要求:
1. 每个cout相互之间要Exclusive(否则出来的就不是一行一行的)
2. message和action要绑定在一起,或者说Atomic,否则出来的message次序和action
的次序可能不同
问题来了:Read Lock不是exclusive,这种情况怎么打印多个Reader的message?
简单的给所有cout另外加一个Exclusive锁不work,因为message顺序和action次序可能
不同 |
g***s 发帖数: 3811 | 2 in your case, you cannot use read-write lock
use lock or sync instead.
action
【在 N****p 的大作中提到】 : 考虑一个Read-Write Lock : 为了验证MT正确,把每个action对应的message打印出来,每个action一行message。于 : 是有两个要求: : 1. 每个cout相互之间要Exclusive(否则出来的就不是一行一行的) : 2. message和action要绑定在一起,或者说Atomic,否则出来的message次序和action : 的次序可能不同 : 问题来了:Read Lock不是exclusive,这种情况怎么打印多个Reader的message? : 简单的给所有cout另外加一个Exclusive锁不work,因为message顺序和action次序可能 : 不同
|
N****p 发帖数: 1691 | 3 我的目的是验证Read-Write Lock在正确工作
是不是意味着不可以用打印Message的方式来验证
Read-Write Lock的工作过程呢?
同理,任何涉及Shared Lock的技术都不可以用打印Message的方式来验证,必须用
Debug一步一步走来验证? |