使用 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. 组件范围的线程池
图片看不清楚?请点击这里查看原图(大图)。
自定义线程池
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。
Tags:使用 WebSphere Application
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接