百天百题(1/100)Java创建线程的方式?

首先创建线程有四种种方式:

1.继承Thread类 

缺点:1.Java是不支持多继承的,所以我们不能在继承其他的类了

           2.不能通过线程池来此操作,每次创建一个线程都需要先创建一个类,创建和销毁线程对整体的资源开销是非常大的。

           3.每次启动一个线程都要去创建一个线程类来继承Thread,这样做的话,程序的耦合性会变高。

2.实现Runnable接口(推荐)

TIPS:通过实现Runnable接口创建线程的方式实际上不是创建一个线程的对象。但是可以理解为创建一个线程的任务,将这个任务作为参数扔到Thread的构造函数中去。最后调用start方法来启动线程。

优点:其实达到了解耦的效果,避免了代码重构带来的困难。节省资源,实现了线程的复用性。

以上两种方式都是拿不到返回线程的参数

3.实现Callable接口,并且结合Future实现(底层还是通过Runnable)

实现Callable接口并且指定泛型(需要什么类型就返回什么类型)

4.通过JDK自带的线程池Executors来创建对象

总结:创建线程的方式本质上是调用start方法,start方法继续调用run方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值