四种实现java多线程方式介绍

时间:2023-05-20  浏览量:11

  1、实现Runnable接口创建线程

  由于Java是单继承机制,如果自己的类已经继承自另一个类,则无法再直接继承Thread类,此时,可以通过实现Runnable接口来实现多线程。

  实现Runnable接口并实现其中的run方法,然后通过构造Thread实例,传入Runnable实现类,然后调用Thread的start方法即可开启一个新线程。

  2、继承Thread类创建线程

  Thread类本质上也是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。

  start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程比较简单,通过继承Thread类并复写run()方法,就可以启动新线程并执行自己定义的run()方法。

  3、使用ExecutorService、Callable、Future实现有返回结果的线程(线程池方式)

  ExecutorService、Callable、Future三个接口都是属于Executor框架。可返回值的任务必须实现Callable接口。通过ExecutorService执行Callable任务后,可以获取到一个Future的对象,在该对象上调用get()就可以获取到Callable任务返回的结果了。

  4、实现Callable接口通过FutureTask包装器来创建Thread线程

  首先需要一个实现Callable接口的实例,然后实现该接口的唯一方法call逻辑,接着把Callable实例包装成FutureTask传递给Thread实例启动新线程。

  FutureTask本质上也实现了Runnable接口,所以同样可以用来构造Thread实例。

  以上就是四种实现java多线程方式介绍的内容。

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:021-51078389。本站原创内容未经允许不得转载,或转载时需注明出处:中国域名网 chinaym.net
| 关于我们 | 联系我们 | 隐私条款 | 免责声明 | 会员服务 | 新闻中心 |

扫码关注

扫描上方二维码,
立即关注我们。
更多资讯,更多优惠!

联系我们021-51078389