请问这大代码是否线程安全 应该是了吧,Lock的代码区是临界区>>Application.Lock()对tblOnline是否是锁住的?在此,tblOnline指向的应该是一个引用,你的代码不能保证tblOnline不被其它代码修改 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Application.Lock是为了和原Asp兼容才保留的。但其实性能非常差。既然你的DataTable有个名字,你可以这样:lock("km_OnlineList"){...} 个人认为没有问题_context.Application.UnLock();前面加上_context.Application["km_OnlineList"]=tblOnline;见得更多点 晕啊~~~~DataTable是class,不是struct也 不要晕,我知道他是引用,但我看了 <profession C# >的处理,最后也是加上了赋值部分,我不清楚原因。但我想, 可能是增加可读性吧? To Lostinet(迷失网络)lock ( 表达式 ) 嵌入语句 我不太明白:表达式必须表示引用类型的值.请问在这里我应该怎么写?例如你说的lock("km_OnlineList"){...}这个km_OnlineList是指的什么?我的DataTable有个名字,但是这里名字是tblOnline 阿,是不是应该是lock(tblOnline ){...} lock是不能使用int,double,DateTime等ValueType类型的。。~~~例如lock(DateTime.Parse("2002/1/1"))是错的。。而int CustomerID=3;lock((object)CustomerID)却是对的。tblOnline是变量名,而不是你的DataTable的名字。难道你说:DataTable tblOnline=(DataTable)_context.Application["km_OnlineList"];DataTable tblOnline2=tblOnline;这个DataTable有两个名字不?当然,km_OnlineList也不一定是你的DataTable的名字,但它也代表了你的DataTable 楼上的,谢谢但是我不知道怎么样把引用类型的值放到lock(express)中,你能举个例子给我吗?若这里:DataTable tblOnline=(DataTable)_context.Application["km_OnlineList"];tblOnline是引用类型的,其实就是一个句柄,但是我怎么把它的值放到lock()中去? lock()是锁定对象lock(tblOnline)就可以了 请问如何使用ASP.NET修改IP地址呢? Asp.Net中的Menu 控件能否实现当鼠标经过时显示图像变换? gridview绑定AcessDataSourse,SQL执行后gridview如何更新? 播放WMV问题 奇怪!为什么同一条记录会出现2遍呢?晕了 在 .net 2005 里怎么用框架啊? 如何把梅花雨日历控件转换成YYYY-MM-DD HH:MM:SS ,帮我改一下下面的代码,下面的代码只能是年月日 信息分页的问题(在线 急) 服务器控件的样式问题 询问一个repeater的问题 xml一对多的问题 斑竹请进,急!
但其实性能非常差。
既然你的DataTable有个名字,
你可以这样:lock("km_OnlineList")
{
...
}
前面加上
_context.Application["km_OnlineList"]=tblOnline;
见得更多点
DataTable是class,不是struct也
但我看了 <profession C# >的处理,最后也是加上了
赋值部分,我不清楚原因。
但我想, 可能是增加可读性吧?
我不太明白:表达式必须表示引用类型的值.
请问在这里我应该怎么写?例如你说的lock("km_OnlineList"){...}这个km_OnlineList是指的什么?我的DataTable有个名字,但是这里名字是tblOnline 阿,是不是应该是lock(tblOnline ){...}
例如
lock(DateTime.Parse("2002/1/1"))是错的。。
而
int CustomerID=3;
lock((object)CustomerID)却是对的。tblOnline是变量名,而不是你的DataTable的名字。
难道你说:
DataTable tblOnline=(DataTable)_context.Application["km_OnlineList"];
DataTable tblOnline2=tblOnline;
这个DataTable有两个名字不?
当然,km_OnlineList也不一定是你的DataTable的名字,但它也代表了你的DataTable
但是我不知道怎么样把引用类型的值放到lock(express)中,你能举个例子给我吗?
若这里:DataTable tblOnline=(DataTable)_context.Application["km_OnlineList"];
tblOnline是引用类型的,其实就是一个句柄,但是我怎么把它的值放到lock()中去?
是锁定对象
lock(tblOnline)就可以了