ASP.NET里如何控制线程安全?

jerrycool 2006-06-04 11:56:32
最近看了jsp的书,才知道线程安全是怎么回事,回想以前做过的程序,哇...有好多问题耶...
请教一下各位,ASP.NET里如何做线程安全的WEB程序呢???
...全文
642 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzfooo 2006-07-19
  • 打赏
  • 举报
回复
编写一个多线程的程序看一下就知道了,这样可以发现一些未知的错误.
自然框架 2006-06-05
  • 打赏
  • 举报
回复
一般的都是安全的。
charles_y 2006-06-05
  • 打赏
  • 举报
回复
线程安全要考虑到应用本身,离开了程序在这儿空谈线程安全有什么用?

所谓线程安全,就是说你多个线程有可能访问同一段内存空间,Thread-safe的类要么不会出现两个线程访问同一段内存空间的事情,要么会在你访问一个需要保护的程序空间的时候自动加锁。

说起来其实就是这么简单,关键要看具体应用。
jerrycool 2006-06-05
  • 打赏
  • 举报
回复
还是没有得到想要的结果.
帮顶学习啊!
ilovejolly 2006-06-05
  • 打赏
  • 举报
回复
学习
jerrycool 2006-06-05
  • 打赏
  • 举报
回复
谢谢 charles_y(每天上网一小时)

懂了点!
BossFriday 2006-06-04
  • 打赏
  • 举报
回复
up
winner2050 2006-06-04
  • 打赏
  • 举报
回复
微软帮你作好了。如果你平时多看MSDN,上灌CSDN就应该知道。
jerrycool 2006-06-04
  • 打赏
  • 举报
回复
我是指我自己写的类,比如数据库底层操作类....DbBase类.
但好象这也是调用.NET的类喔...不知道有没有问题,线程安全又不好测试,昏~~~~~~~~
shixin1198 2006-06-04
  • 打赏
  • 举报
回复
恩 二楼的朋友 说清楚些 给点资料 好吗
fangzhe 2006-06-04
  • 打赏
  • 举报
回复
ASP.net常用的类都是线程安全的(.net Class Reference里有说明“This class is thread-safe”)
如果你调用了非线程安全的类,就前后用个Application.lock unlock就没问题了
huangbznet 2006-06-04
  • 打赏
  • 举报
回复
占个位,学习一下
jerrycool 2006-06-04
  • 打赏
  • 举报
回复
学习,期望更多高手解答!
cat_hsfz 2006-06-04
  • 打赏
  • 举报
回复
对于系统对象的方法是否线程安全,这个要查MSDN。

大多数情况下,MSDN的说法都是“此对象的公共静态方法都是线程安全的,但不确保实例的所有方法都是线程安全的”,也就是说如果你调用其静态方法时可以不考虑是否线程安全了。至于在调用实例方法时,多数时候都是不会有问题的,但是在遇到问题时你就绝对有权怀疑是实例方法线程不安全引起的。(这时候你要用Reflector仔细察看.NET Framework源代码什么的,很麻烦,最省事的办法就是能lock的地方都lock上,然后慢慢摸索哪些lock能够去掉以提高效率。)

至于你自己的代码,如果是T-SQL所做的事情(一个SqlCommand),那么锁机制就由SQL Server提供。但是调用多个SqlCommand,那么调用过程是线程不安全的,所以同一段逻辑最好放在一个SqlCommand里完成(例如用StoredProcedure)。

fangzhe 2006-06-04
  • 打赏
  • 举报
回复
winner2050(winner) ( ) 信誉:100 2006-06-04 12:22:00 得分: 0


微软帮你作好了。如果你平时多看MSDN,上灌CSDN就应该知道。

这个是扯淡,微软类库里多数是线程安全不错,但是你调用的方法就不一定了。msdn里ASP.net部分有一句话,使用Application的Lock和UnLock方法达到线程安全。。。
jerrycool 2006-06-04
  • 打赏
  • 举报
回复
winner2050(winner) ( ) 信誉:100 2006-06-04 12:22:00 得分: 0


微软帮你作好了。如果你平时多看MSDN,上灌CSDN就应该知道。


微软帮我做好了??MSDN哪个地方有啊??我去看看......
MSDN常看呀,就是不太习惯怎么从里面找资料
fangzhe 2006-06-04
  • 打赏
  • 举报
回复
你自己写的类是不是这样的:
1.读
2.处理
3.写
那么就需要lock
如果要是读/写一步到位(一个SqlCommand),或者是读完了数据是锁定的,就没关系了

62,046

社区成员

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

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

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

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