1

我在 VB.Net 中编写了一个在运行 IIS7 的 ASP.NET Web 应用程序中使用的类。我使用 .NET Framework 4.0。该类对联机执行 REST 请求并检索包含强类型数据的 XML 响应。

此类还使用 SQL Server 数据库执行缓存。该类被编译为 .DLL 并由 Web 应用程序引用。它工作得很好,现在我需要知道如何使类线程安全。

我没有使代码“线程安全”的经验。我不知道从哪里开始确定它是否是线程安全的。我假设,因为我在开发过程中没有注意这一点,所以它不是线程安全的,并且由于它的 web 应用程序将同时被许多用户使用,因此必须注意它。

谁能告诉我如何测试线程安全?网上有什么资源可以给我一些想法吗?是否有任何经验法则可以提示我主要关注的问题在哪里?

4

1 回答 1

1

您可以注意的最简单的事情是使用“静态”(C#)或“共享”(VB.NET)变量。如果可以在应用程序的整个生命周期中修改这些变量,您可能会遇到线程问题,这通常会导致“随机查找”问题。

我还会担心您如何在数据库中进行缓存,因为多个 .NET 线程访问 SQL(用于缓存)也可能会导致问题,具体取决于其设计方式。

底线是,如果您想确保这不会有问题,您可能需要了解有关线程的更多信息。就简单到非常复杂的 C# 主题而言,我读过的最好的书可能是C# 4.0简而言之,我会看一看那本书,尤其是线程章节。(尽管认真阅读整本书)如果您通读并很好地理解了所提到的概念,那么您应该没问题。

于 2012-05-29T06:08:38.157 回答