标签:center call i++ name exception public 接口 nis 实现
/** * 线程池,实现Runnable接口 * @author Administrator * */ public class ThreadPoolRunnable implements Runnable{ public void run(){ System.out.println(Thread.currentThread().getName()+"线程"); } }
/** * 实现Callable线程池 * @author Administrator * */ public class ThreadPoolCallable implements Callable<String>{ @Override public String call() throws Exception { System.out.println(Thread.currentThread().getName()+"开始执行Callable接口......."); return "线程执行完毕!"; } }
//线程池测试类 public class TestThreadPoolRunnable { public static void main(String[] args) throws InterruptedException, ExecutionException { threadRunnable(5, 10); threadCallable(3, 10); } /** * 实现Runnable接口线程池 * * @param a * 创建线程数量 * @param b * 线程池总数 * @throws InterruptedException * @throws ExecutionException */ public static void threadRunnable(int a, int b) throws InterruptedException, ExecutionException { // 创建线程池 ExecutorService executorService = Executors.newFixedThreadPool(b); for (int i = 0; i < a; i++) { // 从线程池中调用线程 executorService.submit(new ThreadPoolRunnable()); } } /** * 实现Callable线程池 * * @param a * 创建线程数 * @param b * 线程池总数 * @throws InterruptedException * @throws ExecutionException */ public static void threadCallable(int a, int b) throws InterruptedException, ExecutionException { ExecutorService executorService = Executors.newFixedThreadPool(b); for (int i = 0; i < a; i++) { Future<String> s = executorService.submit(new ThreadPoolCallable()); System.out.println(s.get()); } } } 结果: pool-1-thread-1线程 pool-1-thread-3线程 pool-1-thread-2线程 pool-1-thread-5线程 pool-1-thread-4线程 pool-2-thread-1开始执行Callable接口....... 线程执行完毕! pool-2-thread-2开始执行Callable接口....... 线程执行完毕! pool-2-thread-3开始执行Callable接口....... 线程执行完毕!
标签:center call i++ name exception public 接口 nis 实现
原文地址:https://www.cnblogs.com/whx20100101/p/9862369.html