+ -
当前位置:首页 → 问答吧 → asp.net 网站 死锁 冲突

asp.net 网站 死锁 冲突

时间:2011-12-17

来源:互联网

请问:
  成千上万人同时访问一个网站的同一个页面,会发生死锁吗?(这个页面的后置类代码有 变量赋值、查询数据库 等)
会在后台代码中发生死锁吗?

还想请问:
  asp.net Web的工作原理。假如有 3 人在不同的地点同时访问某个网站页面,这个 3 个人都要为一个变量赋值,而我并没有为 赋值这段代码做加锁操作,为什么不出现死锁或者冲突呢?
 

作者: mynameisduanjx   发布时间: 2011-12-17

你的变量是全局和静态的吗?如果是局部的,一个人有一个,为什么会有冲突呢?而死锁的发生,仅针对独占性的资源,并且至少要有两个资源,如果只是一个资源,大家排除等候好了,总有处理完的一天。两个资源,甲占着 A,但需要 B,而乙占着 B,但需要 A,可甲就不给乙 A,乙也不给甲 B,于是死锁就产生了。当然,实际的状况比这要复杂得多,可能会是绕了一个很大的圈。

作者: orain   发布时间: 2011-12-17

如果是静态变量,你改变了,别人又去改变,你再去访问,当还没有被释放的时候,你访问到的是别人改变的那个值。

作者: xiangaylian   发布时间: 2011-12-17

orain:
如果变量是局部的,一人一个 是什么意思?

xiangaylian:
按你们那么说,要在网站程序中避免冲突和死锁,就是要尽量少使用静态变量了?

作者: mynameisduanjx   发布时间: 2011-12-18

····对于每一个用户都是独立的··页面变量也是啊··除非你的变量在Global.asax这个全局里面的··

作者: livelymoon   发布时间: 2011-12-18

livelymoon:
为什么每个用户都是独立的?跟 Session 有关吗?

多用户访问网站的时候,是不是就等于在网站服务器上产生了多个线程?

作者: mynameisduanjx   发布时间: 2011-12-18