在你的服务器端代码中使用线程和创建异步处理(2)

原创 2004年06月09日 17:12:00

线程处理对于IIS5IIS6是不同的是不同的,我会简短地讨论一下这个问题。对于来的每一个请求,一个新的实例就会被创建,为了避免过于频繁的分配应用和模块,每一个应用域维护了应用和模块的池。每个应用池的最大值是和线程池的大小一致的,因此默认上来说,上限为25个工作进程可以被并发处理,每一个有自己的应用和模块集合。图1显示了asp.net 工作进程的一个快照。 这中情景下,有两个激活的应用在工作进程中,每个应用独立于自己的应用域中。每一个应用目前处理两个请求,并且每一个使用了两个来自于CLR 池的线程来响应这些请求。

1 线程和池

这种结构的几个特征可能会影响你构建asp.net应用。首先,应用和模块多次被创建实例意味着你永远不要依赖字段或其它状态,以为它们不能在跨越多个请求中被共享,正如你可以想到的那样。作为替代,可以使用状态库一个状态,例如,使用程序范围的cache session状态,应用状态,或者每一个请求的集合( 来自HttpCntext)。另外在恰当同步的情况下你也可以使用静态数据

默认上来说,大部分用来响应请求的处理者是不使用池的。你可以使用池处理者,甚至控制池每一个基于IsResusable of IHttpHandler 的处理者,但是只有被隐式地做池的处理者才能作为客户化处理者(自己写的没有指定的处理工厂)。PageHandlerFactory 没有实现池,SimpleHandlerFactory 也是如此,它的实例是以 .ashx-defined 的处理者。典型的来说,每一个请求就会分配一个新的恰当的处理者对象,请求结束后,该处理者对象就会完全被丢弃。

性能优化之使用线程池处理异步任务

1. 创建线程   创建线程常用的有两种方式:   1. 继承Thread类   2.实现Runnable接口 public class Test { public static vo...
  • luotuomianyang
  • luotuomianyang
  • 2016年07月17日 20:56
  • 395

多线程异步机制Handler以及AsyncTask

Android当中多线程的写法跟JAVA当中相差不了太多,只需要新建一个类继承自Thread类即可。然后重写父类的run方法。并在里面写耗时逻辑即可class MyThread extends Thr...
  • cgq1030699125
  • cgq1030699125
  • 2016年06月20日 14:45
  • 3164

异步消息处理机制--线程

多线程编程 执行一条耗时操作,需放在子线程里运行 1、线程的基本用法 新建类继承 或实现接口  ,重写方法--(可直接内部类) ● class MyThread extends Thread ...
  • qq_35893033
  • qq_35893033
  • 2017年02月11日 14:06
  • 318

【Swift】三种多线程处理方式

刚开始学习swift语言,学习了网上的多线程构造方式写了一个小demo,源代码如下所示 import UIKit /*图片总数  */ let tota...
  • waschild
  • waschild
  • 2016年05月13日 15:40
  • 2496

关于线程问题的一些总结

1.创建线程的几种方式(MRC)       1>创建线程的第一种方式,NSThread类方法 方法一     NSThread *thread = [[NSThread alloc] in...
  • LXL_815520
  • LXL_815520
  • 2016年02月25日 14:44
  • 661

c#多线程与异步开发 (上)

项目中需要一些多线程或异步的知识点,找资料时看到了这篇文章,觉得讲的很不错,转载过来,想要学习的可以看原文,原文链接,感谢原作者提供好文章引言本文主要从线程的基础用法,CLR线程池当中工作者线程与I/...
  • suifcd
  • suifcd
  • 2016年01月22日 19:32
  • 4720

安卓开发之多线程与异步任务

在Android开发中有时候需要进行一些耗时的操作,如网络请求或者IO操作,如果你使用的是Android4.0以后,那你会发现,只要是写在UI线程中的HTTP请求,运行时都会报错,这是因为Androi...
  • u012689961
  • u012689961
  • 2015年12月27日 10:25
  • 937

Java中利用Future和callable接口监测异步线程的理解

在Java的并发编程时,如果不需要监测程序运行的结果,那么可以使用runnable接口,直接丢给线程池就可以。因为runnabale接口是没有返回值的。  e.g.1   public class ...
  • huangmeimao
  • huangmeimao
  • 2013年11月18日 11:37
  • 2025

java分别用Thread方法和Runable方法实现异步

首先,对进程和线程的概念做一个简单的介绍,点击打开链接,这篇博客用一个形象的比喻对这两个概念做了一个解释,对初学者很有帮助。        简而言之:进程是程序的一次执行,进程在执行过程中拥有独立的存...
  • xw568159764
  • xw568159764
  • 2014年05月26日 16:57
  • 8279

如何用Java回调和线程实现异步调用

如何用Java回调和线程实现异步调用软件模块之间的调用关系可以分为两大类:即同步调用和异步调用。在同步调用中,一段代码(主调方)调用另一段代码(被调方),主调方必须等待这段代码执行完成返回结果后,才能...
  • CGniao
  • CGniao
  • 2015年08月25日 22:18
  • 1087
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在你的服务器端代码中使用线程和创建异步处理(2)
举报原因:
原因补充:

(最多只允许输入30个字)