最大同时线程数小于最大线程池大小。

3
我不理解Glassfish v3.1.2的行为。
我使用以下的Glassfish线程池参数来运行我的Java Web应用程序:
- 类名:com.sun.grizzly.http.StatsThreadPool - 最大队列大小:4096 - 最大线程池大小:10 - 最小线程池大小:10 - 空闲线程超时时间:900
然后,我向我的Servlet发送了许多请求。我的Servlet逻辑如下:
//do some action
Thread.currentThread().sleep(5000);

Netbeans探查器在"线程"窗口中显示以下结果: http://s8.postimage.org/5hupqk4ad/profiler.png 似乎已经创建了全部10个线程,但只有5个能够同时运行。 当然我想要同时使用最大数量的线程。
请问这种行为是如何解释的,并能否提供如何修复此问题的建议。
如果需要更多信息,请告诉我。 谢谢。
1个回答

1

请尝试检查您的客户端,可能存在限制。


真的!原因在客户端源代码中。服务器有5个连接限制。 - Vitalii Ivanov
@Vitaly - 只是好奇,客户端使用了什么,并且如何配置才能使特定数量的连接到服务器? - Andy Dufresne
@AndyDufresne - 这是一个带有Great Maps控件(http://greatmaps.codeplex.com/)的客户端应用程序。该控件从我的服务器应用程序获取瓷砖。同时获取瓷砖的线程数为5。 - Vitalii Ivanov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接