背景
在以前coding的时候,有时会些异步代码,大多数情况下都是为了把不是立刻需要的数据单独处理,以提供相应速度。当然还有人多开些线程来提高运算效率,但是在本中主要关注解决的是异步的问题。
原理
异步工具类就是在系统启动时候先初始化一个符合参数自己工作环境的线程池,所有的异步操作占用的线程都是从这个线程池中获取的,这样能进行资源统一管理,不会因为异步操作而占用过多的服务器资源。
实现
异步工具类,AsyncService.java:
public class AsyncService {
private static final ExecutorService service = Executors.newFixedThreadPool(10);
// 也许没有必要这么做的
// static {
// Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
// @Override
// public void run() {
// if (service != null && !service.isShutdown()) {
// service.shutdown();
// }
// }
// }));
// }
/*
执行异步调用
@param obj 要调用的实例化对象
@param methodName 方法名
*/
public static