创建线程的方式:1.继承Thread,2实现Runnable接口,3 实现Callable接口,4Future接口
1. //实现Thread类 public class MyThread extends Thread { @Override public void run() { System.out.println("I am thread"); } }
2. //实现Runnable接口 public class MyThreadRunnable implements Runnable { @Override public void run() { System.out.println("I am Runnable"); } }
3,4 FutureTask futureTask=new FutureTask(new Callable() { @Override public Object call() throws Exception { return "Callable"; } }); futureTask.run(); try { System.out.println(futureTask.get());//输出Callable } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } 还可以指定泛型 FutureTask future=new FutureTask<Long>(new Callable<Long>() { @Override public Long call() throws Exception { return 1L; } }); future.run(); System.out.println(future.get());