基础的线程池

实际项目中(需要非常多的线程),创建跟销毁线程的开销较大,又会用到较多的线程,不妨在创建不用之后,将其存储起来,待使用时再调用

这就引入了线程池的概念

ExecutorService es = Executors.newFixedThreadPool();//创建新的线程池对象,参数是int(表示创建的同时新建多少个线程)并用Executors的子类接收
es.submit(r);//参数为Runnable实现类

由于Runnable接口中的run()方法不能抛异常也没有返回值,所以引入了Callable<T>接口(用法跟Runnable一样)

T call(){}//可抛异常也有返回值,若要传入参数,则可以将参数传入Callable的实现类的构造方法中 用法跟run()一样

猜你喜欢

转载自blog.csdn.net/Salted_fish_master/article/details/80354880
今日推荐