首页优化 正文

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

2024-04-02 4 0条评论

  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多线程方式介绍的内容。

文章版权及转载声明

本文作者:admin 网址:http://news.edns.com/post/8044.html 发布于 2024-04-02
文章转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码