`

多线程(一):tomcat 多线程

阅读更多
web server允许的最大线程连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
1.编辑tomcat安装目录下的conf目录下的server.xml文件
在tomcat配置文件server.xml中的<Connector />配置中,和连接数相关的参数有:
maxThreads="150"     表示最多同时处理150个连接,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。  
minSpareThreads="25"     表示即使没有人使用也开这么多空线程等待 
  maxSpareThreads="75"     表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。  (一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。

  
  acceptCount="100"   当同时连接的人数达到maxThreads时,还可以接收排队的连接数量,超过这个连接的则直接返回拒绝连接。(指定当任何能够使用的处理请求的线程数都 被使用时,能够放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。 )
其中和最大连接数相关的参数为maxThreads和acceptCount。如果要加大并发连接数,应同时加大这两个参数。
web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。tomcat5中的配置示例:
    <Connector port="8080"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               acceptCount="100"/>
对于其他端口的侦听配置,以此类推。

线程池一般有三个重要参数:
1. 最大线程数。在程序运行的任何时候,线程数总数都不会超过这个数。如果请求数量超过最大数时,则会等待其他线程结束后再处理。
2. 最大共享线程数,即最大空闲线程数。如果当前的空闲线程数超过该值,则多余的线程会被杀掉。
3. 最小共享线程数,即最小空闲线程数。如果当前的空闲数小于该值,则一次性创建这个数量的空闲线程,所以它本身也是一个创建线程的步长。
线程池有两个概念:
1. Worker线程。工作线程主要是运行执行代码,有两种状态:空闲状态和运行状态。在空闲状态时,类似“休眠”,等待任务;处理运行状态时,表示正在运行任务(Runnable)。
2. 辅助线程。主要负责监控线程池的状态:空闲线程是否超过最大空闲线程数或者小于最小空闲线程数等。如果不满足要求,就调整之。

分享到:
评论

相关推荐

    web服务器 tomcat6.0

    【描述】:“Tomcat 6.0 是一款广泛应用的开源Web服务器和Servlet容器,以其轻量级、高效和稳定性著称。它实现了Java Servlet和JavaServer Pages(JSP)技术,是Java EE应用服务器的一种实现,特别适合小型到中型的...

    tomcat中多线程对于servlet处理的4篇资料

    在这个主题中,我们将深入探讨"Tomcat中多线程对于Servlet处理"的相关知识点,特别关注在5.5.17版本中的实现。 1. **Tomcat的线程模型** Tomcat使用了一个基于Apache Commons Daemon的JVM服务模型,其中包含了...

    java筑基(基础)面试专题系列(一):Tomcat+Mysql+设计模式.zip

    5. 对于并发和多线程的理解,如何在Tomcat环境中处理高并发请求。 6. Web应用的安全性,比如防止SQL注入、XSS攻击和CSRF攻击的策略。 通过系统学习和实践这些知识点,你将能够更好地应对Java基础面试,为自己的职业...

    tomcat 7 和 tomcat 8

    6. 多线程模型优化:改进了线程池的管理和异常处理,提升了整体稳定性。 Tomcat 8: 1. 发布时间:Tomcat 8于2013年发布,进一步升级,支持Java EE 7标准。 2. Java EE 7支持:Tomcat 8引入了Servlet 3.1、JSP 2.3...

    小型服务器tomcat5.5

    8. **多线程支持**:Tomcat能够处理多个并发请求,通过线程模型来保证高并发场景下的效率。 9. **日志系统**:Tomcat有一个内置的日志系统,可以记录服务器运行时的各种信息,这对于调试和监控系统状态非常有用。 ...

    Tomcat 8 软件及源码

    3. 并发性改进:Tomcat 8 对并发性进行了改进,包括更好的线程管理、请求处理和响应处理等方面的优化。 4. EL 3.0支持:Tomcat 8 支持最新的EL(表达式语言)3.0规范,提供了更多的表达式功能和语言特性。 5. JSP ...

    tomcat6的源码

    2. **线程模型**:Tomcat使用了多线程模型来处理并发请求。源码中的`Catalina`和` Coyote`组件涉及到了这部分内容,包括Acceptor线程和Worker线程的管理。 3. **生命周期管理**:每个Tomcat组件都有自己的生命周期...

    apache-tomcat-7.0.55.rar

    8. **多线程模型**:Tomcat支持两种线程模型:基于线程的模型和基于连接的NIO模型,开发者可以根据需求选择合适的模型。 9. **错误处理和日志记录**:Tomcat提供详细的错误页面和日志记录功能,帮助开发者诊断和...

    tomcat 7.0tomcat 7.0

    8. **多线程支持**:Tomcat 7.0允许开发者在Servlet中使用多线程,以实现并行处理,但需要注意线程安全问题。 9. **热部署**:Tomcat 7.0支持Web应用的热部署,即在不重启服务器的情况下更新或替换已部署的应用,...

    apache-tomcat-6.0.14

    6. **多线程处理**:Tomcat 使用多线程模型来处理并发请求,确保高效的服务响应。 7. **连接器**:Tomcat 可以与其他服务器(如Apache HTTP Server)通过Apache的mod_jk或mod_proxy模块进行集成,实现负载均衡和更...

    tomcat 7.0.22

    7. **多线程模型**:Tomcat 7采用了更灵活的线程模型,可以根据实际负载动态调整工作线程的数量,从而提高资源利用率。 8. **兼容性**:Tomcat 7与大多数主流的Java版本(如Java SE 6和7)兼容,并且与许多Java EE...

    java筑基(基础)面试专题系列(一):Tomcat+Mysql+设计模式.rar

    在面试中,你可能还会遇到关于并发控制、异常处理、集合框架、IO流、多线程等Java核心技术的问题。这些都需要你有扎实的理论基础和实践经验。此外,对Spring框架的理解,包括依赖注入(DI)和面向切面编程(AOP),以及...

    tomcat 线程守护

    在J2EE开发过程中经常由于内存溢出等多方面原因,导致tomcat服务器软件自动停止服务,从而影响了Web服务,本代码采用VB开发,主要是监控tomcat是否被关闭,保证tomcat的正常运行!

    tomcat-6.0.29

    8. **多线程模型**:Tomcat使用一个工作线程池来处理并发请求,提高了系统性能和资源利用率。 9. **性能优化**:Tomcat6提供了一些性能调整选项,如调整线程池大小、开启或关闭日志记录、启用或禁用JMX(Java ...

    tomcat:tomcat源码分析

    5. **线程模型**:Tomcat支持多线程模型,包括BIO( Blocking I/O)、NIO(Non-blocking I/O)和APR(Apache Portable Runtime)模式。其中,NIO和APR提供了更高的并发性能。 6. **连接器(Connector)**:Tomcat的...

    官方原版tomcat8.0.43 32位

    7. **多线程处理**:Tomcat使用线程池来处理并发请求,提高性能。管理员可以通过调整`server.xml`中的Executor配置来定制线程池的大小。 8. **热部署**:Tomcat支持应用程序的热部署,即在不关闭服务器的情况下更新...

    Tomcat最新版7.0.32

    2. **多线程模型**:Tomcat使用了基于NIO(非阻塞I/O)的多线程模型,提高了并发性能。这意味着Tomcat可以同时处理多个客户端请求,而无需为每个请求创建一个新的线程,从而降低了系统资源的消耗。 3. **连接器...

    深入剖析Tomcat书本源码

    3. **线程模型**:Tomcat采用了多线程模型来处理并发请求。了解其线程池和工作线程的工作方式有助于优化服务器的并发性能。 4. **连接器(Connector)与处理器(Processor)**:Tomcat中的Connector负责接收和响应...

    apache-tomcat-8.0.11.zip

    7. **多线程处理**:Tomcat使用多线程模型处理并发请求,确保服务器能够高效地服务于多个用户。 8. **可扩展性**:虽然Tomcat本身是轻量级的,但可以通过与其他Java EE组件(如JNDI、EJB、JMS等)集成,实现更全面...

Global site tag (gtag.js) - Google Analytics