Java实现Runnable接口创建多线程
Java实现Runnable接口创建多线程
通过继承Thread类,实现多线程,但是,这种方式有一定的局限性,因为,Java中只支持单继承,一个类一旦继承了某个父类,就无法再继承Thread类
比如,学生类Student继承了Person类,就无法通过继承Thread类,创建线程
针对这种情况,Thread类提供了另外一个构造方法Runnable target
其中,Runnable是一个接口,它只有一个run()方法
当通过Thread类的Runnable target构造方法,创建线程对象时,只需为该方法传递一个实现了Runnable接口的实例对象,这样,创建的线程将调用实现了Runnable接口中的,run()方法作为运行代码,而不需要调用Thread类中的run()方法
示例,Example03.java
public class Example03{public static void main(String[] args){// 创建MyThread的实例对象// 创建线程对象// 开启线程,执行线程中的run()方法MyThread myThread=new MyThread();Thread thread=new Thread(myThread);thread.start();while(true){System.out.println("main()方法在运行");}}
}
class MyThread implements Runnable{// 线程的代码段,当调用start()方法时,线程从此处开始执行public void run(){while(true){System.out.println("MyThread类的run()方法在运行");}}
}
编译运行
代码说明
MyThread类,实现了Runnable接口,并重写了Runnable接口中的run()方法
通过,Thread类的构造方法,将MyThread类的实例对象作为参数传入,可以看出,main()方法和run()方法中的打印语句,都执行了
Java实现Runnable接口创建多线程相关推荐
- java多线程------实现Runnable接口创建多进程,实现资源共享
//实现Runnable接口创建多进程,实现资源共享 package xian_cheng;public class Example05 {public static void main(String ...
- 使用Runnable接口创建线程,很简单
大家好,今天分享.使用Runnable接口创建线程 首先Java创建线程可以通过三种方法: 即: 1.继承Thread类创建线程类(重点) 2.通过Runnable接口创建线程类(重点) 3.通过Ca ...
- 实现Callable接口创建多线程
新增方式一:实现Callable接口 与Runnable相比,Callable功能更强大些 相比run()方法,可以有返回值 方法可以抛出异常 支持泛型的返回值 需要借助FutureTask类,比如获 ...
- 简单易懂的多线程(通过实现Runnable接口实现多线程)
通过实现Runnable接口实现多线程 在开发中,我们应用更多的是通过 Runnable 接口实现多线程.在实现 Runnable 接口的同时还可以继承某个类.所以实现Runnable 接口的方式要通 ...
- 通过实现Runnable接口创建,开启,休眠和中断线程。
** 通过实现Runnable接口创建,开启,休眠和中断线程. ** 1.创建线程 在Android中,提供了两种创建线程的方法,一种是通过Thread类的构造方法创建线程对象,并重写run()方法实 ...
- Java用Callable接口创建线程
一.概述 使用Callable接口创建线程能够返回数据.与Runnable接口创建线程的方式有点类似,也是需要通过Thread类来创建线程.由于Thread类的构造函数中没有Callable接口, ...
- Java继承Thread类创建多线程
Java继承Thread类创建多线程 单线程示例 示例,Example01.java public class Example01{public static void main(String[] a ...
- 多线程Runnable类创建多线程
package com.ajax; //多线程Runnable类创建多线程 public class Example01 {public static void main(String [] args ...
- java实现Runnable接口启动线程
这里写自定义目录标题 java实现Runnable接口启动线程 重写run方法 java实现Runnable接口启动线程 重写run方法 run方法里面装需要执行的代码块 @Override publ ...
最新文章
- 环信联合创始人: Saas敏捷开发实践!
- 某计算机系大二级共有5个班,2016年计算机二级考试MS Office题库及答案
- javascript实现kruskal算法
- Codeforce 322E Ciel the Commander (点分治)
- 爬虫-保存cookie到本地-利用MozillaCookieJar
- zsh 使用通配符功能
- 用XYNTService把Python程序变为服务
- php给img标签加alt属性
- 相似度融合网络:用于聚合不同的基因数据类型:Similarity network fusion for aggregating data types on a genomic scale
- 暂缓上市的云知声,技术究竟几何?
- 美团校招php笔试题,2018 美团校招笔试题详解
- length()、size()、sizeof()三者的区别
- java 新浪短链接_如何通过Java调用新浪短网址官方API接口实现短网址缩短功能
- 红色警戒2rules.ini数值修改
- K8S(二)安装配置篇
- FME 2011预览:新特性 IFMEWorkspaceRunner
- Ajax库-认识服务器,URL地址,axios基本用法,响应状态码,业务状态码,接口测试工具
- Nyquist三大准则
- DataGridview单击某个单元格选中一行
- 火车头9.2 内容分页采集
热门文章
- 04_Struts2标签
- 将js进行到底:node学习10
- C++ 管理数据内存的方法
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
- How to scroll the window using JQuery $.scrollTo() function
- oracle 表空间维护
- web app指南之构建html5离线应用
- (xy)+((x^y)1)
- Disable auto select after clicking magnifier
- Linux下FTP服务器配置与管理