JAVA怎么处理线程池中线程的并发问题?
java应用服务器接收请求,为每一个请求在线程池中创建一个线程,那么线程池中的线程存在并发的问题吗?怎么解决这个问题呢?...
java应用服务器接收请求,为每一个请求在线程池中创建一个线程,那么线程池中的线程存在并发的问题吗?怎么解决这个问题呢?
展开
3个回答
展开全部
可以通过以下原则解决:
1、设置线程池的最大线程数
2、设置线程池的并发处理线程数量
3、设置线程池最大的队列线程数
4、做好线程池的线程清理工作
做好这几点,理论上没问题了,具体还得看编程者代码的质量。
PS:服务器不可能为每一个请求都创建线程,得考虑到最大负载,当达到临界值的时候,服务器返回繁忙状态,拒绝服务即可,当然这是简单的处理办法。
1、设置线程池的最大线程数
2、设置线程池的并发处理线程数量
3、设置线程池最大的队列线程数
4、做好线程池的线程清理工作
做好这几点,理论上没问题了,具体还得看编程者代码的质量。
PS:服务器不可能为每一个请求都创建线程,得考虑到最大负载,当达到临界值的时候,服务器返回繁忙状态,拒绝服务即可,当然这是简单的处理办法。
追问
怎么设置线程池的并发处理线程数量,线程池对于并发的底层是怎么实现的(有什么快速的教程或者书籍吗),另外对于多个应用服务器之间怎么处理并发的情况呢?(各应用服务器上发布的是相同的应用,然后用F5进行的负载均衡)
展开全部
你要首先设置线程池的最大线程数再设置线程池的并发处理线程数量最后设置线程池最大的队列线程数 做好线程池的线程清理工作 做好这几点,理论上没问题了,具体还得看编程者代码的质量。
----------普科国际JAVA培训学生---------------
----------普科国际JAVA培训学生---------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应用服务器(Tomcat,Jetty,Jboss等)已经处理了这个问题,做开发的时候不用考虑.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询