Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理指南

第 14 章 线程池

本章介绍了如何创建、编辑及删除线程池。本章包含以下几节:

关于线程池

本节介绍了线程池及其在 Application Server 中的工作方式。

Java 虚拟机 (JVM) 可以支持一次执行多个线程。为了提高性能,Application Server 维护一个或多个线程池。可以将特定的线程池指定给连接器模块和 ORB。

一个线程池可以提供多个连接器模块和企业 Bean。请求线程处理对应用程序组件的用户请求。服务器接收到请求时,它会将请求指定给线程池中的空闲线程。该线程执行客户机的请求并返回结果。例如,如果请求需要使用的系统资源当前正处于忙碌状态,则线程会在允许请求使用该资源前,等待资源回到空闲状态。

指定为来自应用程序的请求预留的最大线程数和最小线程数。线程池在这两个值之间动态调整。指定的最小线程池大小将通知服务器为应用程序请求至少分配该大小的预留线程数。可以将线程数增加到所指定的最大线程池大小。

如果增加可供进程使用的线程数,则该进程可以同时对更多的应用程序进行响应。

在一个资源适配器或应用程序占据 Application Server 中的所有线程时,通过将 Application Server 线程分至几个不同的线程池来避免线程资源缺乏。

有关线程池的管理控制台任务

Procedure创建线程池

  1. 在树组件中,选择“配置”节点。

  2. 选择要配置的实例:

    • 要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例 server,请选择 server-config 节点。

    • 要配置所有实例的默认设置,请选择 default-config 节点。

  3. 选择“线程池”节点。

  4. 在“当前池”下单击“新建”。

  5. 在“线程池 ID”字段中输入线程池的名称。

  6. 在“最小线程池大小”字段中,输入服务此队列中的请求的线程池中线程的最小数目。

    将此线程池实例化时将预先创建这些线程。

  7. 在“最大线程池大小”字段中,输入服务此队列中的请求的线程池中线程的最大数目。

    这是存在于此线程池中的线程数上限。

  8. 在“空闲超时”字段中输入数值(以秒为单位),超过此时间段之后将从池中删除空闲线程。

  9. 在“工作队列的数目”字段中输入由此线程池服务的工作队列总数。

  10. 单击“确定”。

  11. 重新启动 Application Server。

等效的 asadmin 命令

create-threadpool

Procedure编辑线程池

  1. 在树组件中,选择“配置”节点。

  2. 选择要配置的实例:

    • 要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例 server,请选择 server-config 节点。

    • 要配置所有实例的默认设置,请选择 default-config 节点。

  3. 选择“线程池”节点。

  4. 在“当前池”下选择要更改的线程池的名称。

  5. 在“最小线程池大小”字段中,输入服务此队列中的请求的线程池中线程的最小数目。

    将此线程池实例化时将预先创建这些线程。

  6. 在“最大线程池大小”字段中,输入服务此队列中的请求的线程池中线程的最大数目。

    这是存在于此线程池中的线程数上限。

  7. 在“空闲超时”字段中输入数值(以秒为单位),超过此时间段之后将从池中删除空闲线程。

  8. 在“工作队列的数目”字段中,输入由此线程池服务的工作队列总数。

  9. 单击“保存”。

  10. 重新启动 Application Server。

Procedure删除线程池

  1. 在树组件中,选择“配置”节点。

  2. 选择要配置的实例:

    • 要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例 server,请选择 server-config 节点。

    • 要配置所有实例的默认设置,请选择 default-config 节点。

  3. 选择“线程池”节点。

  4. 在“当前池”表中选取要删除的线程池名称。

  5. 单击“删除”。

  6. 重新启动 Application Server。

等效的 asadmin 命令

delete-threadpool