-
Tomcat Servlet 多线程到底是怎么实现的?7
我知道一个类要实现多线程,那么就必须继承Thread或者实现Runnable。
大家都知道Servlet是多线程的。我查了一下sun的servlet的源代码,没有发现有继承Thread类和实现Runnable 接口,或者有什么内部继承或者实现了相应的类。我知道可能是Application Server里创建Servlet线程并对其进行管理。有谁对这方面有研究,请指教一下,多谢了!2009年2月15日 22:04
4个答案 按时间排序 按投票排序
-
struts中action跟servlet也是同样原理,单例,创建一次,使用N次。所以也要使用实例字段,除非不会改变的值。
struts2中action那就不一样了,他为每次请求都创建一次,使用一次,创建一次。
所以他可以把页面上表单写成自己实例字段。接受拦截器值注入。2009年2月15日 22:47
-
应该是tomcat里创建响应的socketServer线程类接收请求连接,然后在再创建或引用对应的servlet实例来处理请求连接。servlet是单例的,只创建一次。所以最好不要使用serlvet中的实例字段。。
2009年2月15日 22:42
-
servlet跟tomcat没有关系, 多线程是容器提供的能力。 servlet为了能并发执行, 是因为servlet被这些thread使用了。 这么说, 够草根了吧?
关于线程如何被管理的, 办法很多的, 你可以使用JDK提供的API, 也可以自己编码实现thread的管理。 一般来说, API提供的功能已经足够强大了,如果你不是要求那么多的自我控制, 应该是足够使用了。2009年2月15日 22:04
-
sun 的 servlet 源码只是一个接口规范(其中只包含了接口和一些抽象类的定义)。具体实现跟具体的服务器有关,你可以去查看相应的服务器源码。
2009年2月15日 22:04
相关推荐
tomcat中多线程对于servlet处理的4篇资料 基于5.5.17
Servlet体系是建立在java多线程的基础之上的,它的生命周期是由Tomcat 来维护的。当客户端第一次请求Servlet的时候,tomcat会根据web.xml配置文件实例化servlet, 当又有一个客户端访问该servlet的时候,不会再实例化...
本包里的三个类是模拟了tomcat是如何多线程的使用同一个servlet的实例来同时使用service方法处理请求
Servlet在不实现SingleThreadModel的情况下运行时是以单个实例模式,如下图,这种情况下,Wrapper容器只会通过反射实例化一个Servlet对象,对应此Servlet的所有客户端请求都会共用此Servlet对象,而对于多个客户端...
Threads:tomcat线程,可以查看线程的状态等信息,还可以杀死线程 Cluster:tomcat集群 System Information:系统信息 Connectors:connector信息,可以看到每秒的请求数、响应时间等 Quick check:...
11.1 多线程的servlet模型 350 11.2 线程安全的servlet 351 11.2.1 变量的线程安全 351 11.2.2 属性的线程安全 360 11.3 singlethreadmodel接口 362 11.4 小结 363 11.5 思考题 363 第3部分 jsp篇 第12章 ...
- 多线程编程 2. 数据库: - 熟悉SQL语言 - 了解关系型数据库和非关系型数据库 - 数据库连接池 - 数据库事务 3. Spring框架: - Spring Boot - Spring MVC - Spring Data - Spring Security - Spring...
11.1 多线程的servlet模型 350 11.2 线程安全的servlet 351 11.2.1 变量的线程安全 351 11.2.2 属性的线程安全 360 11.3 singlethreadmodel接口 362 11.4 小结 363 11.5 思考题 363 第3部分 jsp篇 第12章 ...
【多线程】多线程的实现方式Thread、Runnable、Callable 72 【多线程】实现Runnable接口与继承Thread类比较 73 【多线程】线程状态转换 74 【多线程】线程的调度 75 线程优先级 75 sleep 76 wait 76 yield 77 join ...
它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run ...
11.1 多线程的servlet模型 350 11.2 线程安全的servlet 351 11.2.1 变量的线程安全 351 11.2.2 属性的线程安全 360 11.3 singlethreadmodel接口 362 11.4 小结 363 11.5 思考题 363 第3部分 jsp篇 第12章 ...
11.1 多线程的servlet模型 350 11.2 线程安全的servlet 351 11.2.1 变量的线程安全 351 11.2.2 属性的线程安全 360 11.3 singlethreadmodel接口 362 11.4 小结 363 11.5 思考题 363 第3部分 jsp篇 第12章 ...
DiyTomcat:一个仿造的Tomcat的项目,其中,完成了Servlet的装配(使用URL加载器),JSP(中间JSP页面转换成Servlet的中间件是用现成代码)。其中对于xml使用jsoup进行处理,而对项目文件监听器侦听器是利用函数依附...
44. 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 12 45. 线程的基本概念、线程的基本状态以及状态之间的关系 12 46. 在linux下 怎么查看tomcat的进程? 12 47. 简述逻辑操作(&,|,^)与条件操作(&&,||...
51.5. java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 25 52. 数据连接池 25 52.1. 连接池的基本原理: 25 52.2. 连接池的工作机制 25 52.3. 建立连接池 26 ...
50、多线程有几种实现方法?同步有几种实现方法? 51、启动一个线程是用run()还是start()? . 52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 53、线程的基本概念、线程...
1、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 56 2、sleep() 和 wait() 有什么区别? 56 3、当一个线程进入一个对象的一个synchronized方法后,其它线程...
多线程一直不是件容易的事情,然而开发过程却又经常碰到,有时甚至还会被作为考校程序员实力的一个指标。这样一来,多线程已然成为一道必须迈过的砍!多线程是程序员面试时常常会面对的问题,对多线程概念的掌握和...
平时的开发中线程是个少不了的东西,比如tomcat里的servlet是线程,没有线程我们如何提供多...为什么需要多线程?如果每个进程都是单独处理一件事情不能多个任务同时处理,比如我们打开qq只能和一个人聊天,我们用ecl