32.黑马程序员-多线程(实现Runnable接口)
2012-10-17 09:07
162 查看
------- android培训、java培训、期待与您交流! ----------
1.Runnable(可运行的)接口概述
第二种创建线程的方式:声明实现Runnable接口的类,该类然后实现run方法。
Runnable接口只有一个方法void run(),覆盖这个方法,run()中写线程代码。
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();//线程开始运行
1.Runnable(可运行的)接口概述
第二种创建线程的方式:声明实现Runnable接口的类,该类然后实现run方法。
Runnable接口只有一个方法void run(),覆盖这个方法,run()中写线程代码。
第一步:声明实现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();//线程开始运行
相关文章推荐
- 黑马程序员——java第十一、十二天:多线程(创建线程1-2、多线程同步代码、实现Runnable接口、安全死锁)
- 多线程——实现Runnable接口
- 黑马程序员_笔记_多线程(创建线程的第二种方式:实现Runable接口)
- 通过实现Runnable接口实现多线程
- java runnable接口实现多线程
- 多线程中的继承Thread类和实现Runnable接口的区别
- Java【多线程知识总结(4)】通过实现Runnable接口创建线程
- 实现多线程有两种方法: Thread类继承和Runnable接口实现
- 多线程——Java中继承Thread类与实现Runnable接口的区别
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- 多线程(一)——通过实现Runnable接口创建线程
- 多线程_实现Runnable接口的方式卖电影票案例
- Java基础-23总结多线程,线程实现Runnable接口,线程名字获取和设置,线程控制,线程安全,同步线程
- 通过继承Thread实现多继承和通过实现Runnable接口实现多线程的比较
- 实现Runnable接口,通过Thread启动多线程
- 对比:通过实现Runnable接口和继承thread类来生成多线程
- Java基础知识强化之多线程笔记05:Java中继承thread类 与 实现Runnable接口的区别
- 实现多线程有两种方法: Thread类继承和Runnable接口实现
- JAVA多线程实现的三种方式(继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程)
- [Java]多线程/继承Thead类/实现runnable接口