Java创建多线程的方式有4种,分别是:通过继承Thread类的方式、通过实现Runnable接口的方式、通过实现Callable接口的方式、通过多线程的方式。本文试图梳理下通过实现Callable接口的方式创建线程的原理:第一部分简要写下通过Callable接口创建线程的主要代码,第二部分结合API文档和源代码对这短短的几行代码背后所实现的逻辑进行梳理,第三部分简单总结下亲自一个个造线程的三种方式的逻辑。
一、通过Callable接口创建线程的主要代码
class NewCallable implements Callable{
//实现Callable接口中的call()
@Override
public Object call() throws Exception {
//具体的实现代码
}
}
public class NewThread{
public static void main(String[] args) {
//创建NewCallable类(即Callable实现类)的对象newCallable
NewCallable newCallable = new NewCallable();
//创建FutureTask类(同时实现了Callable和Runnable类)的对象futureTask
FutureTask futureTask = new FutureTask(newCallable);
//创建Thread类的对象thread
Thread thread = new Thread(futureTask);
//使用对象thread调用start()
thread.start();
}
}
二、对上述几行代码背后所实现的逻辑进行梳理
要想理解Callable接口创建线程的原理,