Executors:线程池的工具类通过调用方法返回不同类型的线程池对象。
常见的方法:
public class ExecurosDemo {
public static void main(String[] args) {
//创建固定线程池数据的线程池
ExecutorService pool= Executors.newFixedThreadPool(3);
pool.execute(new MyRunnable1());
pool.execute(new MyRunnable1());
pool.execute(new MyRunnable1());
pool.execute(new MyRunnable1());
}
}
class MyRunnable1 implements Runnable{
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName()+"输出了:Helloworld"+i);
}
}
}
Executors使用可能存在的陷阱
大型并发系统环境在使用Execuors如果不注意可能会出现系统风险。
Excutors是否合适做大型互联网场景的线程池方法?
不合适
建议使用ThreadPoolExecutor来指定线程池数,这样可以明确线程池的运行规则,避免资源耗尽的风险。