Java并发之创建线程的几种方式
Java并发之创建线程的几种方式
小奥Java并发之创建线程的几种方式
在面试中,我们会被经常问道:“ Java中的线程创建有几种方式? ”
这是一道很经典的八股文了,当然对于我们来说不在话下,答:“三种,继承Thread类、实现Runnable接口、实现Callable接口”。
是不是很简单,确实,但是你以为只有这三种方式吗?哈哈,那可不一定。
像一些其他的线程池啊,CompletableFuture类等,也都可以创建出线程。
不过,这些方式呢,其实并没有真正的创建出线程。
准确来说,这些都是属于在Java代码中使用多线程的不同方式。
严格来说,Java只有一种方式可以创建线程,就是通过new Thread().start()
创建。
其实这样我们就能明白,以上的很多方式,其实底层都是通过new
来创建线程的,并且提供给用户使用。
关于这个问题,我们可以看这篇文章,其中有着很详细的解释: