微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

webservice如何创建线程来响应客户端

webservice如何创建线程来响应客户端

以tomcat为例,服务器不是必须每一个request都创建线程来响应,tomcat可以维持一个线程池来响应.

The Executor (thread pool)

Table of Contents
Introduction

The Executor represents a thread pool that can be shared between components in Tomcat. Historically there has been a thread pool per connector created but this allows you to share a thread pool,between (primarly) connector but also other components when those get configured to support executors

The executor has to implement the org.apache.catalina.Executor interface.

The executor is a nested element to the Service element. And in order for it to be picked up by the connectors,the Executor element has to appear prior to the Connector element in server.xml

Attributes
Common Attributes

All implementations of Executor support the following attributes:

Attribute Description
className

The class of the implementation. The implementation has to implement the org.apache.catalina.Executor interface. This interface ensures that the object can be referenced through its name attribute and that implements Lifecycle,so that it can be started and stopped with the container. The default value for the className isorg.apache.catalina.core.StandardThreadExecutor

name

The name used to reference this pool in other places in server.xml. The name is required and must be unique.

Standard Implementation

The default implementation supports the following attributes:

Attribute Description
threadPriority

(int) The thread priority for threads in the executor,the default is 5 (the value of the Thread.norM_PRIORITY constant)

daemon

(boolean) Whether the threads should be daemon threads or not,the default is true

namePrefix

(String) The name prefix for each thread created by the executor. The thread name for an individual thread will be namePrefix+threadNumber

maxThreads

(int) The max number of active threads in this pool,default is 200

minSpareThreads

(int) The minimum number of threads always kept alive,default is 25

maxIdleTime

(int) The number of milliseconds before an idle thread shutsdown,unless the number of active threads are less or equal to minSpareThreads. Default value is 60000(1 minute)

maxQueueSize

(int) The maximum number of runnable tasks that can queue up awaiting execution before we reject them. Default value is Integer.MAX_VALUE

prestartminSpareThreads

(boolean) Whether minSpareThreads should be started when starting the Executor or not,the default is false

threadrenewalDelay

After a context is stopped,threads in the pool are renewed. To avoid renewing all threads at the same time,this delay is observed between 2 threads being renewed. Value is in ms,default value is 1000ms. If negative,threads are not renewed.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐