面试经验——线程创建的方法

线程创建方法

  1. 继承Thread类创建线程类。(不能多次继承)
    继承Thread类,创建一个新的线程类。
    同时重写run()方法,将需要并发执行的业务代码编写在run()方法中。

  2. 实现Runnable接口创建线程目标类。(可多次继承)
    定义一个新类实现Runnable接口。
    实现Runnable接口中的run()抽象方法,将线程代码逻辑存放在该run()方法中。
    通过Thread类创建线程对象,将Runnable实例作为实际参数传递给Thread类的构造器,由Thread构造器将该Runnable实例赋值给自己的target执行目标属性。
    调用Thread实例的start()方法启动线程。
    线程启动之后,线程的run()方法将被JVM执行,该run()方法将调用target属性的run()方法,从而完成Runnable实现类中业务代码逻辑的并发执行。

  3. 使用Callable和FutureTask创建线程(与Runnable不同的是它的run有返回值)
    创建一个Callable接口的实现类,并实现其call()方法,编写好异步执行的具体逻辑,可以有返回值。
    使用Callable实现类的实例构造一个FutureTask实例。
    使用FutureTask实例作为Thread构造器的target入参,构造新的Thread线程实例。
    调用Thread实例的start()方法启动新线程,启动新线程的run()方法并发执行。其内部的执行过程为:启动Thread实例的run()方法并发执行后,会执行FutureTask实例的run()方法,最终会并发执行Callable实现类的call()方法。
    调用FutureTask对象的get()方法阻塞性地获得并发线程的执行结果。

  4. 通过线程池创建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值