一,假设有一台服务器,它的IIS上部署有一个Web应用程序-S,可以通过浏览器或其他方式进行访问。
    假设有A、B、C三台电脑同时访问网站S,IIS接收到3个HTTP请求,然后分别为三个请求各建立一个线程。每个线程都有各自的线程栈,每个用户的数据都放在各自线程栈中,也只有用户线程才能取得对应线程栈中的数据,线程之间不会相互影响。这就是为什么一个网站程序能同时被多个用户访问。
    用户的线程运行时,会生成很多的引用类型的对象,这些对象都存在托管堆上,托管堆不像栈只能被所属的线程访问,它能被所有线程共同访问,那各个线程怎么取得自己创建的对象而不会取到其他线程所创建的对象呢?这是因为对象实例虽然在托管堆上,但实例的引用是在线程栈上的,线程要根据实例的引用才能取得实例数据,而线程栈又只能被对应的线程访问,所以线程只会取到自己创建的对象实例,而不会取到其他用户线程所创建的对象实例,同时也不会被其他用户线程取走对象实例。
    当然,值类型数据就不用说,它们都存在于线程栈上,只有各自的线程才能访问,也就是只有各自的用户可以访问。
原文博主:https://www.cnblogs.com/wangyihome/p/8275728.html
二,在我们配置IIS的时候我们的网站,IIS网站对应的进程名一般叫w3wp.exe ,当用户请求过来,IIS会给用户开启一个线程,当这个线程同时请求一个方法时,这时候就是并发,所以在线程的并发我们可以用lock, 锁定一个在托管堆上的对象,当这个对象被锁定时,其他进程等待这个对象被当前进程使用完,然后才可以使用该方法,这个就是lock的使用
 

IIS是怎么处理多个请求的?的更多相关文章

  1. IIS发布程序,出现:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理解决方案

    windows 7(或者windows 2008)+iis7.5 出现如下错误的解决方法: 错误描述:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 解决方法: 打开cmd命令窗口,执行如下 ...

  2. IIS 7 支持10万并发请求

    原文链接:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error S ...

  3. 第二节:SSL证书的申请、配置(IIS通用)及跳转Https请求的两种方式

    一. 相关概念介绍 1. SSL证书服务 SSL证书服务由"服务商"联合多家国内外数字证书管理和颁发的权威机构.在xx云平台上直接提供的服务器数字证书.您可以在阿里云.腾讯云等平台 ...

  4. Asp.Net Core IIS发布后PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词)

    一.在使用Asp.net WebAPI 或Asp.Net Core WebAPI 时 ,如果使用了Delete请求谓词,本地生产环境正常,线上发布环境报错. 服务器返回405,请求谓词无效. 二.问题 ...

  5. IIS支持10万个同时请求的设置

    1. 调整IIS 7应用程序池队列长度 由原来的默认1000改为65535. IIS Manager > ApplicationPools > Advanced Settings Queu ...

  6. Mvc项目部署IIS报错:没有为请求的URL配置默认文档,并且没有在服务器设置目录浏览

    问题原因: 1.iis是在安装完.net framework 之后才安装的,需要进行iis注册,开始--运行--cmd,打开命令行提示符,输入命令如下 C:\Windows\Microsoft.NET ...

  7. iis 7 asp.net ajax post 请求字节过大报错问题解决办法

    遇到一个ajax post 提交新闻资讯类的文章,报 {"Message":"There was an error processing the request.&quo ...

  8. 允许IIS下载无后缀文件及“请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。”的解决方法

    1)增加MIME类型 ,如下 application/octet-stream 2)注意是"." , ".*"则适用于任何有文件后缀时使用,无后缀请不要加*

  9. IIS 之 失败请求跟踪规则

    若想使用此功能需先启动如下图的Windows功能: 利用失败请求跟踪功能,可以在出现问题时捕获相应的XML格式的日志,从而无需重现该问题即可开始故障排除.此外,还可以定义应用程序的失败条件并配置要基于 ...

随机推荐

  1. 【NOIP2015模拟10.22】最小代价

    前言 本来在比赛上就想到最小生成树了,但不相信这道题那么简单,然后就没有然后了... 题目 给出一幅由n个点m条边构成的无向带权图. 其中有些点是黑点,其他点是白点. 现在每个白点都要与他距离最近的黑 ...

  2. jetSonNano darknet ubdefined reference to 'pow',undefined reference to 'sqrtf'....

    我在用CMakelist编译工程时,遇到了这个一连串基础数学函数找不到的问题,如下图所示: 我当时在工程中明明引用了 #include "math.h"头函数,这是因为你的工程在预 ...

  3. js 遍历数组取出字符串用逗号拼接

    var arr = [{"name":"hhh"},{"name":"dddd"}] //用js function ge ...

  4. iOS 推送角标解决方案

    在App启动时:didFinishLaunchingWithOptions 方法中:application.applicationIconBadgeNumber = ; //角标清零 在读消息时: a ...

  5. BZOJ 3319: 黑白树 并查集 + 离线 + 思维

    Description 给定一棵树,边的颜色为黑或白,初始时全部为白色.维护两个操作: 1.查询u到根路径上的第一条黑色边的标号. 2.将u到v    路径上的所有边的颜色设为黑色. Notice:这 ...

  6. Oracle And子句

    Oracle And子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,将学习如何使用Oracle AND运算符来组合两个或更多的布尔表达式. ...

  7. CG-CTF | SQL Injection

    没错我又偷偷写了道web[并查集好难啊,脑阔疼QAQ] http://chinalover.sinaapp.com/web15/index.php?username=%5C&password= ...

  8. kibana的安装和监控

    1.1:kibana搭建 kibana只需要在一台机器安装即可 1):解压 tar -zxvf kibana-5.5.2-linux-x86_64.tar.gz -C /home/angel/serv ...

  9. Centos7 yum安装OpenLDAP(普通用户可以更改密码)

    环境 系统版本:centos7.4 openldap版本2.4 安装和配置 安装并启动服务 安装: yum install openldap openldap-servers openldap-cli ...

  10. uniapp开发

    问题1:去掉导航条 给一个单独的页面隐藏顶部的 导航栏 可以在pages.json里 单独的路由style下面配置  "app-plus": {"titleNView&q ...