在不使用锁的情况下使C#线程安全。
•使用PostSharp线程模型解决C#中的多线程问题。
•确定地查找线程错误。不再随机数据竞争。
•诊断生产中的死锁。
•无需计算机科学博士学位。
使您的C#或VB应用程序线程安全。
用.NET语言启动新的线程和任务很简单,但确保对象是线程安全的并不是。在不使用锁的情况下,使您的C#代码线程安全。
选择所需的线程模型,并让内置验证在代码中检测错误,然后再导致随机数据争用:
•不变的
•可冷冻的
•螺纹仿射
•同步
•读写器同步
•Actor
用机器验证的模型处理多线程。
降低复杂性
更高的抽象性——不要迷失在多线程代码的细节中。通过应用具有属性的线程安全模型来提高抽象级别。
设计和实现——在设计应用程序时选择线程安全模式。将该设计轻松快速地转换为一个可运行的代码工件。
解放您的大脑——让最有经验的开发人员处理其他棘手的问题。由于预构建的线程模型,团队中的任何开发人员都可以准确、自信地处理C代码中的多线程。
线程调度——一个简单的属性允许您轻松地将工作分派到后台线程或UI。
获取错误快
模型验证——一旦选择了模型,PostSharp将确保您不会违反规则。获取确定性构建时间或运行时错误,而不是冒数据争用的风险。
做更多的单元测试——去掉随机性后,即使是单线程单元测试也会暴露出大多数线程问题。
死锁检测——死锁很难诊断,并且会比受控崩溃更让用户感到沮丧。避免“没有响应”的情况,而是接收一个详细的异常,该异常概述了所涉及的每个线程的堆栈跟踪。
由您做主
您的选择——在C#中有几种有效的线程安全方法。我们认识到没有银弹,并提供给您许多型号的选择。
充分利用您的投资——PostSharp可与任何C#/VB代码库配合使用。为了实现线程安全,无需使用其他语言:使您的VB或C#代码线程安全。
逐步采用——您可以一次添加一个组件的线程安全性。不需要完全重写应用程序。