java线程方法有哪些_java中的线程创建步骤有哪些?java线程创建的几种方式是什么?...

大家知道创建线程到底有几种方式呢?有的人说两种方式、三种方式、四种方式等等不同的说辞。是否知道各个方式创建线程的步骤又有哪些呢?接下来一起解开疑题。

java多线程的实现方式有4种,分别是继承Thread类、实现Runnable接口、实现Callable接口,从线程池中获取,其中前两种比较常用。一下就是线程创建的详细步骤以及注意的事项:

1.继承Thread类

552db4d2165b56df5e565f42b616bdd1.png

说明:

调用start方法后并不意味着会立刻执行run方法里面的代码,只是使该线程处于可运行状态了,具体什么时候执行,要由系统来决定。该方式使用的是继承的方式,由于java不支持多继承,所以如果需要继承其他类的时候,就不能使用该方式了。

2.实现Runnable接口

8cabcdaaaf515abda7d8f5ba9381ebe7.png

说明:

该方式是实现接口的方式,限制较小,没有第一种方式的继承的问题,所以推荐使用这种方式。

3.Callable+FutureTask

460233f7e92cd430bc8d95ed5e4a571a.png

说明:

Callable和Runnable功能差不多,但是相比Runnable来说还是有很多区别的,主要体现在以下3点:

(1)、Callable的call方法有返回值并且可以抛异常,而Runnable的run方法就没有返回值也没有抛异常。

(2)、Callable运行后可以拿到一个Future对象,这个对象表示异步计算结果,可以从通过Future的get方法获取到call方法返回的结果。但要注意调用Future的get方法时,当前线程会阻塞,直到call方法返回结果。

(3)、Runnable是作为线程的构造参数运行的,Callable是作为线程池的submit方法的参数运行的。

4.借助线程池

这种方式就是你通过线程池间接地去创建线程,相当于把创建线程的任务托管给线程池。线程池可以统一管理线程,使得线程调度有序,且利用效率大大提高。

线程池可以通过Executors提供的几个方法来创建,也可以通过ThreadPoolExecutor创建自定义线程池。

以上就是小编介绍的四种创建线程的方式,想要更多的了解知识,请继续关注本网站哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值