| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Java 线程创建方式 -> 正文阅读 |
|
[Java知识库]Java 线程创建方式 |
文章目录二、实现Callable接口相比实现Runnable接口或继承Thread类的好处 前言本篇文章主要是记录Java线程的几种创建方式,以便需要的时候用来参考 一、创建方式说明Java线程的创建方式有3种,分别是继承Thread,实现Runnable接口,通过Callable和Future接口创建(JDK1.5中开始增加)。还是有一种说法创建线程方式有4种,这4种除了前边提出的3种以外还有一种是通过线程池的方式创建线程(JDK1.5中开始增加)。 二、继承Thread方式1.代码实现
2.过程说明(1)、定义子类继承Thread类 (2)、子类中重写Thread类中的run方法 (3)、创建该子类对象,即创建了线程对象 (4)、调用线程对象的start方法,启动线程 三、实现Runnable接口方式?1、代码实现
2、过程说明(1)、定义子类,实现Runnable接口 (2)、子类重写Runable接口中的run方法 (3)、通过Thread类的含参数构造器创建线程对象 (4)、将子类的对象作为实际参数传给Thread类的构造器中 (5)、调用Thread类的start方法,开启线程(start方法会调用子类的run方法) 四、实现Callable方式 ,创建带返回值的线程1、代码实现
2、过程说明(1)、定义子类,实现Callable接口? (2)、子类重写Callable接口中的call方法 (3)、通过FutureTask 的有参构造函数创建FutureTask 对象 (4)、将子类的对象作为实际参数传给FutureTask 类的构造器中 (5)、通过Thread类的含参数构造器创建线程对象 (4)、将FutureTask 类的对象作为实际参数传给Thread类的构造器中 (5)、调用Thread类的start方法,开启线程 (6)、线程创建后,调用FutureTask 的get方法获取返回值 五、线程池方式创建线程1、代码实现
?2、说明(1)、通过Executors类中的不同静态方法,创建不同类型的线程池 ????????Executors.newCachedThreadPool():创建一个可根据需要创建新线程的线程池 (2)、调用ExecutorService接口中的execute方法执行线程 ?????????void execute(Runnable command):执行任务/命令,没有返回值,一般用来执行Runnable 总结?一、 继承Thread与实现Runnable接口说明Thread类其实就是实现了Runnable接口:public class Thread implements Runnable 区别: 二、实现Callable接口相比实现Runnable接口或继承Thread类的好处????????可以有返回值 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:55:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |