gpt4 book ai didi

c# - 自动验证一些线程限制? (C#)

转载 作者:太空狗 更新时间:2023-10-29 21:59:43 25 4
gpt4 key购买 nike

我们的代码库在注释中编码了很多线程限制 - 例如:

  • 此类是线程安全的(可以从任何线程安全地访问所有公共(public)方法)
  • 必须锁定“xyz”才能访问/调用任何公共(public)成员
  • 只能从线程“xyz”访问(通常但不总是指的是 GUI 线程)
  • 如果两者都需要,则必须在锁“xyz”之后获取此锁

前三个可以在类和个人成员上看到。

我已经搜索过任何可以至少部分验证是否满足这些约束的解决方案。我意识到这可以自动完成的程度有很大的限制,但即使是来自工具的一点帮助也会真正有帮助。不过我找不到。

您能否推荐一种工具来执行这些操作?也许是通过将上述限制编码为属性来工作的 FxCop 规则集?

最佳答案

我不知道任何线程安全特定的属性,只是因为它通常太复杂了。 “测试”线程代码(添加额外的 Debug.Assert 等)是 heisenbugs 的常见原因。你可以看看“CHESS”?这不是 Elixir ,但可能会有所帮助。

关于c# - 自动验证一些线程限制? (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2133543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com