线程创建的方式
根据JDK中Thread类的注释,Java中新建线程只有2种方式,一种是继承自Thread类,一种是实现Runnable接口。
继承Thread类
实现Runnable接口
Callable基础用法
public class CallableUsage { static class CallableTest implements Callable<String> { @Override public String call() { Sy().getName()); return "Callable"; } } public static void main(String[] args) { FutureTask<String> futureTask = new FutureTask<>(new CallableTest()); new Thread(futureTask).start(); } }实现Callable接口并不是创建线程的方式,原因是Callable使用需要构造一个FutureTask对象,FutureTask类图如下,它实际继承了Runnable接口。