32.黑马程序员-多线程(实现Runnable接口)
来源:互联网 发布:淘宝店买卖平台 编辑:程序博客网 时间:2024/05/21 09:38
------- android培训、java培训、期待与您交流! ----------
1.Runnable(可运行的)接口概述- 第二种创建线程的方式:声明实现Runnable接口的类,该类然后实现run方法。
- Runnable接口只有一个方法void run(),覆盖这个方法,run()中写线程代码。
- 123456789101112
class
类名
implements
Runnable{
方法
1
;
方法
2
;
…
public
void
run(){
// other code…
}
属性
1
;
属性
2
;
…
}
- 第一步:声明实现Runnable接口的类class。
- 第二步:覆盖void run()方法。//将线程要运行的代码存放在run方法中。
- 第三步:声明一个class的对象,如:PrimeRun p = new PrimeRun(143);//143是线程名。
- 注意:这个对象p还不是线程,因为创建线程必须是Thread对象或者Thread子类对象,它与Thread没有关系。那么怎么样让这个对象与Thread有关系呢?Thread类中定义了一个构造方法Thread(Runnable target)。
- 第四步:new Thread(p).start();//Thread(p)把实现Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。
- 为什么将这个子类对象传给Thread类的构造函数?
- 因为,自定义的run方法所属的对象是Runnable接口的子类对象。所以要让线程去指定指定对象的run方法。就必须明确该run方法所属对象。
- 第五步:调用Thread类的start方法开启线程并调用Runnable接口子类的run方法。
3.两种创建方式的区别
- 实现方式和继承方式的区别:
- 实现方式好处:避免了单继承的局限性。在定义线程时,建议使用实现方式。
- 两种方式区别:
- 继承Thread:线程代码存放在Thread子类run方法中。
- 实现Runnable:线程代码存放在接口的子类的run方法。
4.声明实现了Runnable接口的对象,并没有创建线程,thread类及其子类才能创建线程。
- 如Ticket t =new Ticket(); //Ticket实现了Runnable
- Thread t1 = new Thread(t); //创建了一个线程,把实现了 Runnable的ticket对象作为参数,创建线程。
- t1.start();//线程开始运行
- 32.黑马程序员-多线程(实现Runnable接口)
- 黑马程序员----多线程1(继承Thread类、实现Runnable接口)
- 黑马程序员 学习笔记二:多线程之Runnable接口
- 多线程实现Runnable接口
- Runnable接口实现多线程
- 多线程实现Runnable接口
- 黑马程序员——java第十一、十二天:多线程(创建线程1-2、多线程同步代码、实现Runnable接口、安全死锁)
- 黑马程序员 java基础 实现runnable接口问题 学习日志
- 实现Runnable接口实现多线程
- java runnable接口实现多线程
- java多线程实现:Runnable接口
- 黑马程序员_Thread类与Runnable接口
- 多线程二(Runnable接口)
- JAVA 多线程的简单实现(runnable接口方式)
- Java Tread多线程(1)实现Runnable接口
- java多线程(继承Thread以及实现Runnable接口)
- Android开发笔记(四十七)Runnable接口实现多线程
- Runnable接口实现多线程 (卖票)并发访问
- 31.黑马程序员-多线程(继承Thread)
- 项目管理者对管理的总结
- C语言如何获得精确到毫秒的时间
- 强制转换带来的疑惑
- const 和 define
- 32.黑马程序员-多线程(实现Runnable接口)
- 研究分析QQ木马的原理
- SIFT读书笔记
- linux rm指令
- C++程序设计-第八周上机实践项目
- 10进制、2进制、16进制的互转
- 33.黑马程序员-多线程(安全)
- 34.黑马程序员-线程间通讯
- VFW(Video for Windows)