在asp.net中使用线程进行思考

问题描述

| 我有一个带有私有字典对象的静态类。在静态构造函数中初始化此对象,然后每次由计时器对象(也位于静态类中)引发TimerElapsed事件时进行修改。 我的页面使用get()方法访问字典。这些页面可供公众查看,因此许多页面可能会同时发生。 我是否需要担心锁定字典对象以防止页面在更新时试图读取它?     

解决方法

        您可能会发现,使用ConcurrentDictionary(如果使用的是.NET 4)是更可靠的解决方案。否则,当两个或多个线程尝试同时写入(或读取/写入)时,您可能会遇到问题。 如果您没有.NET 4,则可能更喜欢将字典包装到一个使用锁的类中,以防止访问共享位,因此您不会在各处散布锁。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...