常用创建线程池:
Executors.newSingleThreadExecutor();
Executors.newCachedThreadPool();
Executors.newFixedThreadPool();
Executors.newScheduledThreadPool();
实践(使用上述内部实现):
/**
* 创建一个线程池用于处理
*/
private static final ThreadPoolExecutor SINGLE_THREADPOOLEXECUTOR = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(100), new ThreadFactory() { @Override public Thread newThread(Runnable r) { Thread thread = new Thread(r); thread.setDaemon(true); return thread; } },new ThreadPoolExecutor.DiscardPolicy());
使用:
SINGLE_THREADPOOLEXECUTOR.execute(new Runnable() { @Override public void run() { initExtendedAreaSurcharge(); } });