本文共 2589 字,大约阅读时间需要 8 分钟。
Callable??????Runnable???????????Runnable??????????????????Callable??????????call???????????????????????????????????????
???Callable??????????????
???????Callable????????
import java.util.concurrent.FutureTask;import java.util.concurrent.Callable;class NumThread implements Callable { @Override public Object call() throws Exception { int sum = 0; for (int i = 0; i <= 100; i++) { if (i % 2 == 0) { System.out.println(i); sum += i; } } return sum; }}public class ThreadNew { public static void main(String[] args) { NumThread numThread = new NumThread(); FutureTask f = new FutureTask(numThread); new Thread(f).start(); try { Object o = f.get(); System.out.println("????" + o); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } }} ????????????????????????????????????????????????????
??????????????????????
Executors.newFixedThreadPool(int)?????????????????????executorService.execute(Runnable)????Runnable??????????????Callable???????executorService.submit(Callable)???executorService.shutdown()?????????????????????????????
import java.util.concurrent.Executors;import java.util.concurrent.ThreadPoolExecutor;class NumberThread implements Runnable { @Override public void run() { for (int i = 0; i <= 100; i++) { if (i % 2 == 0) { System.out.println(Thread.currentThread().getName() + ": " + i); } } }}public class ThreadPool { public static void main(String[] args) { ExecutorService executorService = Executors.newFixedThreadPool(10); executorService.execute(new NumberThread()); executorService.execute(new NumberThread()); executorService.shutdown(); }} ????Callable????????????????????????????Callable?????????????????????????????????????????????????????
转载地址:http://vyoq.baihongyu.com/