【发布时间】:2011-07-29 00:09:57
【问题描述】:
我有一个使用读写锁的类。
我想看看我是否正确锁定和保护了所有方法。
是否有测试设计模式来检查锁是否设置正确?
编辑:
一些澄清:
它是从 C++/CLI 代码派生的 C# 代码,它在 C++ 级别具有锁...没那么简单。这就是为什么我正在寻找一种用于测试的设计,而不是一种用于如何锁定它的设计。
在多线程中需要检查一些事情:
没有死锁(最明显)
正确性(如果我在 1 个线程中更新它,它将在另一个线程中看到)
原子写入(如果我在一个线程中写入,我将只能在写入完整值时读取)
公平(可能更理论上的证明,如果我使用 Mutex 应该是真的)
【问题讨论】:
-
“仔细”算不算一种设计模式?
-
恐怕“仔细”并不能涵盖所有不好的情况
-
-1 表示本周“设计模式”使用最差。
-
(鉴于帖子是 +2 和 -0,我认为我们可以假设这是一个形而上学的 -1,或者反对票达到了竞争条件并且没有保存)
标签: c# multithreading design-patterns locking