设为首页
加入收藏
站内地图
旧版入口
首 页
新闻资讯
SEO研究
SEO查询
网站运营
站长学院
赚钱联盟
链接交换
下载中心
搜优客论坛
网页制作
网络编程
数据库
图形图像
操作系统
网络应用
当前位置:
首页
>
站长学院
>
网络编程
>
ASP.NET
Application与线程同步
作者:
佚名
出处:
网络转载
时间:
05-28
点击:
内容载入中...
版权声明: 吴龙杰 昨天写了篇文字《
static变量与ASP.net
》,说到Application与static member的区别的时候,提到了Application对象的线程安全方面的问题。《
线程同步问题:static成员与ASP.NET中的Application对象
》提出了进一步的讨论。今天我又想将昨天没有说清楚地这一部分不补上
。
Application对象使用了一个字典来保存所有的对象。对每个对象的读写都会加锁。他的锁分为读与写两种。该锁内部维护了一个int字段。加读锁时等待该变量不为-1(没有处于写状态),将该变量加1,解读锁时将改变量减一;加写锁时等待该变量为0(表示没有任何对象锁定),将该变量赋值为-1,解写锁时将改变量赋值为0。很明显对这个变量的操作是要加排他锁的。
这样的结果就是:一个Application对象处于写状态时,会拒绝其他Application对象的读、写操作;一个Application对象处于读状态时,会拒绝其他Application对象的写操作;即便两个Application对象可以同时读,但他们读操作中,加读锁的动作是排他的。
Application对象使用过程中,加锁的动作会增加不少的性能损失。而不同的Application对象之间的阻塞,也会增加不少损失。
而对于static member,一般情况下读不用作加锁操作。写的时候需要加锁,但一般也不会影响到其他的static member。
收藏本文:
【
大
中
小
】【
打印页面
】【推荐给朋友】【
关闭窗口
】
<< 上一篇 :
static变量与asp.net
>> 下一篇 :
static变量的同步
相关新闻
·
用.Net实现基于CSS的AJAX开发(4)
·
ASP.NET模拟其他用户进行关机
·
winform控件部署于web中--控件装载ie中
·
调用自定义event时需要注意的一个问题
·
ASP.Net中利用CSS实现多界面两方法
·
ACCESS的ASP.NET中 如果 数据库操作不关闭
·
妙用ASP2.0中的URL映射改变网址
·
ASP.NET立即上手教程(1)
最新资讯
·
ASP.NET、JSP及PHP之间的抉择
·
带你走进ASP.NET(1)
·
带你走进ASP.NET(2)
·
ASP.NET效率陷阱之——Attributes
·
ASP.NET技巧:DataGrid传统分页方式
·
asp.NET自定义服务器控件内部细节
·
ASP.NET 2.0高级数据处理之数据绑定
·
ASP.NET立即上手教程(1)
站长学院
[
ASP
]
[
PHP
]
[
JSP
]
[
CGI/perl
]
[
ASP.NET
]
[
C#
]
[
XML
]
[
编程综合
]
关 键 字:
信息分类:
新闻资讯
SEO研究
网站运营
站长学院
下载中心
推荐信息
本类热点
·
ASP.NET网站开发实用代码
·
类型“GridView”的控件“GridVi
·
用window.location.href实现刷新
·
asp.net的Request对象使用方法
·
Community Server系列之十:让CS
·
ASP.net数据库连接程序实例
·
用ASP.NET开发wap的开发心得
·
.net2.0邮件发送代码
·
三层嵌套gridview 的折叠展开
·
asp.net图片加水印