加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何证明多线程正在工作?

发布时间:2020-12-15 19:33:24 所属栏目:百科 来源:网络整理
导读:如何证明多线程在我的C#程序中有效?这是针对测试要求的.例如,我将不得不为记录器类添加一些锁定(是的,我知道,我不应该编写自己的日志类),我需要一个测试用例来证明更改是有效的. 解决方法 如果要测试锁定代码是否正确同步对日志的访问,则需要构建可确保争用
如何证明多线程在我的C#程序中有效?这是针对测试要求的.例如,我将不得不为记录器类添加一些锁定(是的,我知道,我不应该编写自己的日志类),我需要一个测试用例来证明更改是有效的.

解决方法

如果要测试锁定代码是否正确同步对日志的访问,则需要构建可确保争用的测试.这可能需要您重构代码,以便您可以注入一个模拟日志编写器类,该类可以在任意时间段内保存日志锁.

这是一个广泛的主题,你可以在StackOverflow上找到几个相关的问题,这些都值得一读:

> How do I perform a Unit Test using threads?
> How to write an automated test for thread safety
> What are some strategies to unit test a scheduler?
> Unit testing a multithreaded application?
> Should I unit test for multithreading problems before writing any lock? (.NET C# TDD)

CHESS是一个正在开发的框架,用于识别“断言违规,死锁,活锁,数据争用和内存模型错误”.我实际上并没有使用它,但看起来它可能非常有用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读