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

文章介绍了Java中创建线程的四种方法,包括继承Thread类、实现Runnable接口、实现Callable接口以及使用线程池Executors。继承Thread类存在耦合性高和资源消耗大的问题,而实现Runnable接口更利于解耦和资源复用。Callable接口允许返回结果,而线程池则能有效管理线程并优化系统资源的使用。
摘要由CSDN通过智能技术生成

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

1.继承Thread类 

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

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

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

2.实现Runnable接口(推荐)

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值