因为本人所剩分数不多,不打算散分,所以希望能有一到两个人回答精确些,然后平分分数。我的问题如下:
1,static变量不安全,那么static方法是否安全?请举出一个代码例子(非常重要)。
2,static方法内部的变量是否会一直占用资源?为什么?注意,以上问题基于web程序开发,所以请注意多人并发访问的问题。正所谓会的不难,难的不会,我因为无法通过一些测试手段来验证,但在网上搜索到的资源都不太详细,希望这里有一两个高人能提供详细点的解释,最好是有代码例子,而不是直接告诉最终结果,那样,只会引来其它人的争论。
能得到您的关注,我只能说声谢谢,另外送上一点点分数!
1,static变量不安全,那么static方法是否安全?请举出一个代码例子(非常重要)。
2,static方法内部的变量是否会一直占用资源?为什么?注意,以上问题基于web程序开发,所以请注意多人并发访问的问题。正所谓会的不难,难的不会,我因为无法通过一些测试手段来验证,但在网上搜索到的资源都不太详细,希望这里有一两个高人能提供详细点的解释,最好是有代码例子,而不是直接告诉最终结果,那样,只会引来其它人的争论。
能得到您的关注,我只能说声谢谢,另外送上一点点分数!
解决方案 »
- 如何用asp.net上传excel
- 正则 匹配html标记得到内容
- Response.Write javascript 中有空格和其它符号的正确输出问题
- 关于viewstate关于dropdownlist(100分)
- 想了好久都没想出来,大家帮我看下,从数据库取出数据的问题。
- 求datagrid中dropdownlist的数据绑定语句,如何实现数据源来自不同的表
- 从 asp:datagrid 得到值放到 shbInsertData 中!怎么做先谢谢了!!!!
- 有关excel的问题
- 求TabStrip和multipage和PageView的例子!!!
- Session在存储问题
- 为什么不能写入Cookie,
- 数据类型转换
————————————————————————————————————————————
方法跟“安全”没有关系。并发时的对象“安全”问题仅仅跟对象变量的作用域有关,也就是说共享的变量如果不进行合适的同步锁,刚刚读取或者修改的变量立刻被其它线程修改,造成前后代码逻辑不一致,流程混乱不可靠。所以仅仅是变量声明的问题。当然static中要求所有外部变量都是static的,但是如果你并不会修改共享的变量,当然没有事。“测试”还是很简单的呀。你可以在页面上要求用户输入(通过textbox)一个文字,保存在static变量中,并且在页面刷新的时候读出来显示(通过label)。反复做这个动作,会发现显示的就是用户自己输入的。然后模拟两个用户从各自的浏览器上访问统一网站页面操作试试看。
如果是静态方法访问应该使用 Application.Lock / Application.UnLock 来控制对静态变量的操作。但是Application.Lock将会导致其他用户访问的暂时停滞,所以应该避免对静态变量的长时间处理。
请举一两个代码,有对比最好.谢谢