ASP.NET开发人员真的需要关心线程安全吗?
发布时间:2020-12-15 23:38:34 所属栏目:asp.Net 来源:网络整理
导读:我认为我自己知道线程的概念,为什么某些代码是或不是“线程安全的”,但是作为主要使用ASP.NET的人,线程和线程安全是我很少想到的.然而,我似乎在Stack Overflow上遇到了许多意见和答案(不一定是ASP.NET),以达到“警告 – 这不是线程安全
我认为我自己知道线程的概念,为什么某些代码是或不是“线程安全的”,但是作为主要使用ASP.NET的人,线程和线程安全是我很少想到的.然而,我似乎在Stack Overflow上遇到了许多意见和答案(不一定是ASP.NET),以达到“警告 – 这不是线程安全!”的效果,这往往使我第二次猜测我是否写过类似的代码实际上可能会导致我的应用程序的问题. [震惊,恐怖等]所以我不得不问:
ASP.NET开发人员真的需要关心线程安全吗? 我的采取:虽然Web应用程序本质上是多线程的,但每个特定的请求都是在单个线程上,而您创建,修改或销毁的所有非静态类型都是该线程/请求的独占.如果请求创建了一个创建业务对象和I want to lazy-initialize a collection within this object实例的DAL对象的实例,如果它不是线程安全的,因为它永远不会被另一个线程所触及. …对? (我们假设我不是在请求期间启动一个新的线程来启动一个长时间运行的异步进程,我很清楚,改变一切.) 当然,静态类,方法和变量恰恰相反.它们由每个请求共享,并且开发人员必须非常小心,不要在一个用户执行时具有“不安全”代码,可能会对所有其他用户产生意想不到的影响. 但是这是关于它,因此ASP.NET中的线程安全性主要归结为:谨慎地设计和使用静态.除此之外,你根本不需要担心. 我错了这个吗?你不同意吗开导我! 解决方法
除了在应用程序的所有请求之间共享的静态项目之外,还有一些对象.例如,将应用程序缓存中的项目放在不是线程安全的情况下要小心.此外,没有任何东西阻止您在处理请求时产生您自己的线程进行后台处理.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在IIS7上设置mvc应用程序?
- asp.net – 未定义Page_ClientValidate
- asp.net-mvc-3 – 显示模型中外键属性的显示值
- 如何在ASP.NET MVC中使用JQuery调用控制器操作
- asp.net-mvc – MVC 5渲染视图到字符串
- asp.net-mvc – 如何在保留控制器名称的同时分解ASP.NET MV
- 在ASP.NET 5中获取AuthenticationProperties
- asp.net – 日历自定义验证器
- asp.net-mvc – DropDownListFor在编辑视图上不重复的项目(
- Asp.net UserControl LoadControl问题
推荐文章
站长推荐
- asp.net-mvc – 输入类型=“隐藏”vs htmlhelper
- 成员资格 – 如何在ASP.NET中将用户与其各自的文
- asp.net-mvc – ASP.NET MVC ActionResult背后的
- asp.net – Telerik rad日期选择器在将来日期用户
- Asp.Net成员 – 实体框架4中的提供商
- asp.net-mvc – 如何在向Db插入数据时自动生成as
- asp.net – 如何使用Web服务返回接口或“复杂”值
- asp.net-mvc – HttpContext.Items与ASP.NET MVC
- asp.net-mvc – 人们如何使用编辑器/显示模板与H
- 将ASP.net Web API用作服务层是否合适?
热点阅读