在网上搜索,都只会讲类似使用ExecutorServices=Executors.newFixedThreadPool(5);这种方式来创建我想问的是:在一个请求需要处理很复杂的运算时,使用线程池,那么是直接在方法里面new一个出来,使用完之后关闭掉?还是使用单例模式创建一个全局的线程池.我不是很理解这个如果说每次请求new一个线程池出来的话,在高并发下,是不是存在很多个线程池,那么内存应该会溢出的啊.但如果只创建一个线程池,在高并发下,无数的请求都排队使用那几个固定的线程,不是更慢了吗?java里面每个web请求过来都是一个线程,不使用线程池的话,自己的线程处理自己的事情,比所有请求共用一个线程池快得多吧.我不知道我这么想对不对.但是我使用apache的ab同时请求1000次的话,不使用线程池比使用单例的线程池快很多很多.希望大佬来帮小弟解惑.
慕标5832272
相关分类