大连java培训学校哪里好

分享

时间:2025-06-11 10:34:15点击:9

达内IT培训

2014年,美国NASDAQ成功上市;全国中心数量突破100家;2015年,推出少儿编程业务;全国中心数量突破150家;2016年,提出“因材施教、分级培优”教学模式;2017年,入选教育部产学合作协同育人项目实施企业;全国中心数量突破200家...

达内IT培训

大连java培训学校哪里好

1.达内教育

2.千锋教育

3.天琥教育

4.汇众教育

5.中公IT

6.火星时代

7.万和教育

8.博雅环球教育

9.新猿IT

10.仑智教育

达内IT培训

JAVA多线程实现方式都有哪些?

JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。如下:

1、继承Thread类实现多线程

继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。例如:

[java] view plain copypublic class MyThread extends Thread {

public void run() {

System.out.println("MyThread.run()");

}

}

在合适的地方启动线程如下:

[java] view plain copyMyThread myThread1 = new MyThread();

MyThread myThread2 = new MyThread();

myThread1.start();

myThread2.start();

2、实现Runnable接口方式实现多线程

如果自己的类已经extends另一个类,就无法直接extends Thread,此时,必须实现一个Runnable接口,如下:

[java] view plain copypublic class MyThread extends OtherClass implements Runnable {

public void run() {

System.out.println("MyThread.run()");

}

}

为了启动MyThread,需要首先实例化一个Thread,并传入自己的MyThread实例:

[java] view plain copyMyThread myThread = new MyThread();

Thread thread = new Thread(myThread);

thread.start();

事实上,当传入一个Runnable target参数给Thread后,Thread的run()方法就会调用target.run(),参考JDK源代码:

[java] view plain copypublic void run() {

if (target != null) {

target.run();

}

}

3、使用ExecutorService、Callable、Future实现有返回结果的多线程

ExecutorService、Callable、Future这个对象实际上都是属于Executor框架中的功能类。 这里面对该框架做了很详细的解释。返回结果的线程是在JDK1.5中引入的新特征,确实很实用,有了这种特征我就不需要再为了得到返回值而大费周折了,而且即便实现了也可能漏洞百出。

可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了,再结合线程池接口ExecutorService就可以实现传说中有返回结果的多线程了。

达内IT培训

2018年,承接教育部“AI+智慧学习”项目,开启人工智能学院建设之路;全国中心数量突破300家;2019年,与百度深化合作,共同推进智能领域技术人才培养;2020年,三大学院成立,11大课程体系建立;与华为、Adobe签署全面合作协议;推出“达内十年服务计划”和“大内高手社区”

达内IT培训

www.aixuew.cn All rights reserved 豫ICP备2022021264号

该文章由用户自行上传发布,如有侵权内容请及时联系我们删除。

电话咨询 在线客服 预约试听