在global.asax文件中修改application的值时为什么一定要加锁

当然,知道加锁的原因是:保证在同一时刻只有一个客户可以修改和存取Application对象的属性

但我还真没有碰到"同一时刻有多个客户修改和存取Application对象的属性"会产生什么后果,请问,这样会产生什么样的后果呢?

很少做网站,比较好奇,呵呵,请高手解释下。
...全文
111 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
夜色镇歌 2012-05-11
  • 打赏
  • 举报
回复
Session
紫魂一号 2012-05-11
  • 打赏
  • 举报
回复
问题有点深奥哈。你说线程要是不被锁会出现什么情况,会不会打架
  • 打赏
  • 举报
回复
我是想做一个在线人数的测试。
用cache,是不是也会有并发性的问题呢?
孟子E章 2012-05-11
  • 打赏
  • 举报
回复
Application对象是所有全站用户共用的,有可能冲突导致数据丢失的
Application.Lock()
Application["xx"] = "xx"
Application.UnLock()

建议使用Cache对象
licai1210 2012-05-11
  • 打赏
  • 举报
回复
        Application.Lock();
Application.UnLock();

如果不加锁会有并发性问题
  • 打赏
  • 举报
回复
还有,为什么加锁后,操作完数据又要解锁呢?

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧