创建线程的第二种方式------实现Runnable接口的方式
- package cn.itcast.demo16.Demo07.Runnable;
/**
* @author newcityman
* @date 2019/7/22 - 23:17
*/
public class RunnableImpl implements Runnable {
@Override
public void run() {
for (int i = 0; i <20 ; i++) {
System.out.println(Thread.currentThread().getName()+"---->"+i);
}
}
}
- package cn.itcast.demo16.Demo07.Runnable;
/**
* @author newcityman
* @date 2019/7/22 - 23:17
*/
public class RunnableImpl2 implements Runnable {
@Override
public void run() {
for (int i = 0; i <20 ; i++) {
System.out.println("hello world---->"+i);
}
}
}
- package cn.itcast.demo16.Demo07.Runnable;
/**
* @author newcityman
* @date 2019/7/22 - 23:18
* 创建多线程的第二种方式:实现Runnable接口
* java.lang.Runnable
* Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。类必须定一个称为run的无参方法
* java.lang.Thread类的构造方法
*
*
* 实现步骤:
* 1、创建一个Runnable接口的实现类
* 2、在实现类中重写Runnable接口的run方法,设置线程任务
* 3、创建一个Runnable实现类的对象
* 4、创建一个Thread类对象,其构造方法的参数传递Runnable实现类的对象
* 5、调用Thread类中的start()方法
*
* 实现Runnable接口创建多线程的优点
* 1、避免单继承的局限性
* 一个类只能继承一个类,类继承了Thread类就不能够继承其他的类了
* 实现Runnable接口,还可以继承其他的类,实现其他的接口
* 2、增强了程序的扩展性,降低了程序的耦合性(解耦)
* 实现Runnable接口的方式,吧设置线程任务和开启线程进行了分离(解耦)
* 实现类中,重写了run方法,用来设置线程任务
* 创建Thread类对象,调用Start方法,用来开启新线程
*/
public class Demo01Runnable {
public static void main(String[] args) {
RunnableImpl impl = new RunnableImpl();
Thread t = new Thread(impl);
t.start();
System.out.println("=========================");
new Thread(new RunnableImpl2()).start();
for (int i = 0; i <20 ; i++) {
System.out.println(Thread.currentThread().getName()+"---->"+i);
}
}
}
创建线程的第二种方式------实现Runnable接口的方式的更多相关文章
- Java创建线程的第二种方式:实现runable接口
/*需求:简单的卖票程序多个窗口买票 创建线程的第二种方式:实现runable接口 *//*步骤1.定义类实现Runable接口2.覆盖Runable接口中的run方法 将线程要运行的代码存放在 ...
- 3.创建线程的第二种写法,继承threading.Tread类,重写run方法
#创建线程的第二种写法 #1.自定义一个类 #2.继承Thread #3.重写run()方法 import threading,time,random class MyThread(threading ...
- java 创建线程的三种方法Callable,Runnable,Thread比较及用法
转自:http://www.chinaitlab.com/Java/line/942440.html 编写多线程程序是为了实现多任务的并发执行,从而能够更好地与用户交互.一般有三种方法,Thread, ...
- 创建多线程的第二种方法实现Callable接口
1.实现Callable接口,重写call方法,有返回值 2.通过实现Callable接口创建的线程只能在线程池中使用. 3.返回值就是run方法返回的对象 4.通过future.get()可以获取到 ...
- 多线程-创建线程第二种方式-实现Runnable接口-细节和好处
1 package multithread2; 2 3 /* 4 * 创建线程的第一种方法:继承Thread类 5 * 6 * 创建线程的第二种方式:实现Runnable接口 7 * 8 * 1,定义 ...
- 创建线程的三种方式(Thread、Runnable、Callable)
方式一:继承Thread类实现多线程: 1. 在Java中负责实现线程功能的类是java.lang.Thread 类. 2. 可以通过创建 Thread的实例来创建新的线程. 3. 每个线程都是通过某 ...
- Java中创建线程的两种方式
创建线程的第一种方式: 创建一个类继承Thread 重写Thread中的run方法 (创建线程是为了执行任务 任务代码必须有存储位置,run方法就是任务代码的存储位置.) 创建子类对象,其实就是在创建 ...
- java创建线程的三种方式及其对比
第一种方法:继承Thread类,重写run()方法,run()方法代表线程要执行的任务.第二种方法:实现Runnable接口,重写run()方法,run()方法代表线程要执行的任务.第三种方法:实现c ...
- 线程系列1--Java创建线程的几种方式及源码分析
线程--创建线程的几种方式及源码分析 开始整理下线程的知识,感觉这块一直是盲区,工作中这些东西一直没有实际使用过,感觉也只是停留在初步的认识.前段时间一个内推的面试被问到,感觉一脸懵逼.面试官说,我的 ...
随机推荐
- hbuilder中webview调试console.log无法输出日志的问题
遇到这个问题的亲,肯定是用的模拟器来测试的,其实你只要换成真机测试就能打印了,前提是安卓系统. 有问题欢迎留言,如果你觉得这个文章对你有帮助,就请点个赞吧!
- 菜鸡的Java笔记第三 - java 自动转换原则
自动转换原则 数据范围保存大的数据类型要转换为数据范围保存小的数据类型,使用强制转换(强制转型就是在变量的前面加括号,在括号里写上需要强制要转的类型.) 数据范围保存小的数据类型可以自动转换为数据范围 ...
- 六、Java API操作zookeeper节点
目录 前文 pom.xml文件增加依赖 新建java文件:ZookeeperTest GitHub文件下载 前文 一.CentOS7 hadoop3.3.1安装(单机分布式.伪分布式.分布式 二.JA ...
- 用图像识别玩Chrome断网小游戏
先来看一下效果 正文 最近在学习机器学习方面的知识,想着做个东西玩玩,然后就接触到了TensorFlow这个机器学习框架,这个框架封装了机器学习的一些常用算法. 不过要自己实现一套流程还是比较麻烦,我 ...
- 21天从Java转向Go之第三天——初出茅庐
名称 Go中25个关键字 只能在语法允许的地方使用,不能做为名称 break default func interface select case defer go map struct chan e ...
- kibana解决Kibana server is not ready yet问题
找到kbn的config中的xml配置 将es的ip改成真正的ip
- Codeforces 512E - Fox And Polygon(构造)
Codeforces 题面传送门 & 洛谷题面传送门 中规中矩的构造题一道. 首先考虑将两张图都向一个中间状态转化.方便起见我们取所有点都连向 \(1\) 号点的情形作为中间状态. 考虑怎样从 ...
- FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅲ
第三波,走起~~ FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅰ FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅱ 单位根反演 今天打多校时 1002 被卡科技了 ...
- [linux] rm -rf删除软链接无权限?
一个很简单的命令,使用频率非常高,但一没注意就会失策. 我将别人盘下的list目录软连接到自己盘中,想要删除时: rm -rf list/ #输入时自然地用tab键补全 结果: 试了多次也删除不了,最 ...
- excel-合并多个Excel文件--VBA合并当前目录下所有Excel工作簿中的所有工作表
在网上找EXCEL多文件合并的方法,思路: 一.Linux 或者window+cmder,直接用命令行cat合并EXCEL文件,但是,需要安装辅助东西才能直接处理(也许也不可以,但是,可以用文件格式转 ...