asp.net并发访问静态var

时间:2013-06-07 11:51:22

标签: asp.net static

用户可以同时读取静态变量吗?

     public static ConcurrentDictionary<string, object> aStaticDictionary= new ConcurrentDictionary<string, object>();

当用户阅读字典时

    aStaticDictionary["key"]

并发请求排队?

1 个答案:

答案 0 :(得分:0)

是的,有一些警告。静态变量可以由多个线程读取,但不在进程之间共享。如果您已将IIS应用程序池配置为具有多个工作进程,那么这一点非常重要。

您无法预测不同线程访问字典的顺序。 ConcurrentDictionary仅保证与写入字典同时进行的读取不会导致问题,而如果使用标准Dictonary类,它们可能已经完成。