创建线程的三种方式的对比?

四猿外 四猿外     2022-12-21     449

关键词:

(1)采用实现Runnable、Callable 接口的方式创建多线程。

优势是:
线程类只是实现了Runnable 接口或Callable 接口,还可以继承其他类。在这种方式下,多个线程可以共享同一个target 对象,所以非常适合多个相同线程来处理同一份资源的情况,从而可以将CPU、代码和数据分开,形成清晰的模型,较好地体现了面向对象的思想。

劣势是:
编程稍微复杂,如果要访问当前线程,则必须使用Thread.currentThread()方法。

(2)使用继承Thread 类的方式创建多线程

优势是:
编写简单,如果需要访问当前线程,则无需使用Thread.currentThread()方法,直接使用this即可获得当前线程。

劣势是:
线程类已经继承了Thread 类,所以不能再继承其他父类。

(3)Runnable 和Callable 的区别

1、Callable 规定(重写)的方法是call(),Runnable 规定(重写)的方法是run()。

2、Callable 的任务执行后可返回值,而Runnable 的任务是不能返回值的。

3、Call 方法可以抛出异常,run 方法不可以。

4、运行Callable 任务可以拿到一个Future 对象,表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。通过Future 对象可以了解任务执行情况,可取消任务的执行,还可获取执行结果。

java-多线程-创建线程的三种方式

JAVA-多线程-创建线程的三种方式并发:同一时间只有一条指令在执行,多个进程的指令被快速轮换执行。并行:同一时间有多条指令在多个处理器上运行。进程:每个运行中的程序就是一个进程。线程:线程(Thread)也被称为轻... 查看详情

创建线程的三种方式

...ead类,重写run方法,调用start方法启动线程;packageThread;//创建线程方式一:继承Thread类,重写run()方法,调用start开启线程//总结:注意,线程开启不一定立即执行,由CPU调度执行publicclassthreadDemo1extendsThread@Overridepublicvoidrun()//run... 查看详情

java创建线程的三种主要方式

Java创建线程的主要方式一、继承Thread类创建  通过继承Thread并且重写其run(),run方法中即线程执行任务。创建后的子类通过调用start()方法即可执行线程方法。  通过继承Thread实现的线程类,多个线程间无法共享线程类的实... 查看详情

java创建线程的三种方式

1.继承Runnable接口packagetest;classRunnableDemoimplementsRunnable{privateThreadt;privateStringthreadName;RunnableDemo(Stringname){threadName=name;System.out.println("Creating"+name);}publicvoidrun(){Syste 查看详情

java创建线程的三种方式

http://blog.csdn.net/longshengguoji/article/details/41126119线程的四种创建方式:(1)继承Thread类(2)实现Runnable接口(3)应用程序可通过使用Executor框架来创建线程池(4)实现callable接口线程的几种可用状态(1)新建(2)可运行(3)运... 查看详情

大数据必学java基础(七十六):创建线程的三种方式(代码片段)

文章目录创建线程的三种方式一、继承Thread类二、实现Runnable接口三、实现Callable接口创建线程的三种方式一、继承Thread类在学习多线程之前,以前的代码是单线程的吗?不是,以前也是有三个线程同时执行的。现在... 查看详情

创建线程的三种方式及其优缺点

packagetestA;importjava.util.concurrent.Callable;importjava.util.concurrent.ExecutionException;importjava.util.concurrent.FutureTask;publicclassThreadTest{publicstaticvoidmain(String[]args){//1.继承Thre 查看详情

线程的三种创建方式

java中创建线程的方法有三种:1.继承Thread类实现2.实现Runnable接口3.使用Callable和Future创建                      ------------------------继承Thread类创建线程-... 查看详情

java多线程实现的三种方式(代码片段)

文章目录实现多线程方式一:继承Thread类方法介绍实现步骤代码演示思考问题实现多线程方式二:实现Runnable接口Thread构造方法实现步骤代码演示实现多线程方式三:实现Callable接口方法介绍实现步骤代码演示三种实现方式... 查看详情

05_创建线程三种方式对比

【采用实现Runnable、Callable接口方式创建多线程】【优点】1.线程只是实现了Runable接口或者Callable接口,还可以继承其它类。2.在这种方式下,多个线程可以共享同一个target对象,比较适合多个相同线程来处理同一份资源的情况。... 查看详情

java中创建线程的三种方法以及区别

...都必须是Thread类或其子类的实例。Java可以用三种方式来创建线程,如下所示:1)继承Thread类创建线程2)实现Runnable接口创建线程3)使用Callable和Future创建线程下面让我们分别来看看这三种创建线程的方法。 ----------------------... 查看详情

threadpoolexecutor的三种提交任务方式

学习内容:ExecutorService线程池的应用...1.如何创建线程池...2.调用线程池的方法,获取线程执行完毕后的结果...3.关闭线程...  首先我们先了解一下到底什么是线程池,只有了解了其中的道理,我们才能够进行应用...java.util... 查看详情

线程的三种创建方式你get了吗?(代码片段)

...点点!Java并发编程Day4本篇总结的是如何在Java中避免创建不必要的对象,后续会每日更新~关于《我们一起学Redis》、《我们一起学HarmonyOS》等知识点可以查看我的往期博客相信自己,越活越坚强,活着就该逢山开... 查看详情

java创建线程的三种方式,同步锁的实现synchronized,lock(代码片段)

一、继承Thread类创建通过继承Thread并且重写其run()方法,通过调用start()方法即可执行线程方法。写法1:publicclassMyThreadextendsThread@Overridepublicvoidrun()for(inti=0;i<15;i++)System.out.println(getName()& 查看详情

线程的三种创建方式你get了吗?(代码片段)

...点点!Java并发编程Day4本篇总结的是如何在Java中避免创建不必要的对象,后续会每日更新~关于《我们一起学Redis》、《我们一起学HarmonyOS》等知识点可以查看我的往期博客相信自己,越活越坚强,活着就该逢山开... 查看详情

49多线程创建的三种方式之继承thread类(代码片段)

继承Thread类创建线程在java里面,开发者可以创建线程,这样在程序执行过程中,如果CPU空闲了,就会执行线程中的内容。使用Thread创建线程的步骤:1.自定义一个类,继承java.lang包下的Thread类2.重写run方法3.将要在线程中执行的... 查看详情

java——多线程高并发系列之创建多线程的三种方式(threadrunnablecallable)(代码片段)

文章目录:写在前面Demo1(继承Thread类,重写run()方法)Demo2(实现Runnable接口,重写run()方法)Demo3(实现Callable接口,重写call()方法)写在前面历时一个星期,终于整完了Java多线程高并... 查看详情

java多线程实现的三种方式

 JAVA多线程实现的三种方式Java中继承thread类与实现Runnable接口的区别 查看详情