【问题标题】:asp.net concurrent access to static varasp.net 并发访问静态变量
【发布时间】:2013-06-07 11:51:22
【问题描述】:

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

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

当用户阅读字典时

    aStaticDictionary["key"]

并发请求是否排队?

【问题讨论】:

    标签: asp.net static


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-22
      • 2012-06-29
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 2013-01-31
      • 2015-06-12
      • 1970-01-01
      相关资源
      最近更新 更多