WEB开发网
开发学院软件开发Java 使用 WebSphere Application Server 开发高性能 J... 阅读

使用 WebSphere Application Server 开发高性能 J2EE 线程

 2009-09-30 00:00:00 来源:WEB开发网   
核心提示: 组件范围的线程池中的所有线程都是异步 Bean 守护程序线程,并且具有与创建它的应用程序相同的生命周期,使用 WebSphere Application Server 开发高性能 J2EE 线程(3),如果应用程序结束,将调用池中每个守护程序工作线程的 release() 方法,它运行在 J2S

组件范围的线程池中的所有线程都是异步 Bean 守护程序线程,并且具有与创建它的应用程序相同的生命周期。如果应用程序结束,将调用池中每个守护程序工作线程的 release() 方法。

在使用自定义组件范围的线程池(图 3)时,将使用 WorkManager 创建的守护程序线程初始化池中的每个工作线程。WorkManager 成为线程工厂。每个线程将共享池创建程序的同一 J2EE 上下文:

将可运行线程提交到自定义线程池。

线程池工作线程从输入队列提取下一个 WWEC,并运行它。每个工作线程都有适用于它的线程池创建程序组件的 J2EE 上下文。

可运行线程在 J2EE 工作线程上运行。

当完成时,J2EE 工作线程仍保持活动状态。

J2EE 工作线程现在等待更多工作出现在输入队列上。

图 3. 组件范围的线程池

使用 WebSphere Application Server 开发高性能 J2EE 线程

图片看不清楚?请点击这里查看原图(大图)。

自定义线程池

Asynchronous Beans WorkManager 不能外部化线程池,所以没有任何方法更改缺省行为。要实现组件范围的线程池,必须将第三方线程池与异步 Bean 的 J2EE 上下文切换功能结合使用。

现有的几个线程池实现可以很好地与此模式一起使用。一种广泛接受的实现是 Doug Lea 的 EDU.oswego.cs.dl.util.concurrent.PooledExecutor,它运行在 J2SE 1.2 及更高版本上。此线程池已发展为 J2SE 5 的 java.util.concurrent.ThreadPoolExecutor,它还向下移植到 J2SE 1.4。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:使用 WebSphere Application

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接