Java中有哪几种方式来创建线程执行任务?

1、继承Thread类

   总结: 重写的是run()方法,而不是start()方法,但是占用了继承的名额,Java中的类是单继承的。

2、实现Runnable接口

    总结: 实现Runnable接口,实现run()方法,使用依然要用到Thread,这种方式更常用。

3、实现Callable接口

    总结: 实现Callable接口,实现call()方法,得使用

Thread + FutureTask配合,这种方式支持拿到异步执行任务的结果。

4、利用线程池来创建线程

    总结: 实现Callable接口或者Runnable接口都可以,由ExecutorService来创建线程。

注意: 工作中不建议使用Executors来创建线程池!

总结: 以上几种方式,底层都是基于Runnable。

你可能感兴趣的:(java)