Thread线程的两种创建方式的传递过程
来源:互联网 发布:html css js注释 编辑:程序博客网 时间:2024/04/30 03:17
//线程类的传递过程
class Thread implements Runnable
{
private Runnable r;
Thread() //无参构造
{
}
Thread(Runnable r) //有参 runnable构造
{
this.r = r;
}
public void run() //如果 Runnable不为空,执行r.run()
{
if(r!=null)
r.run();
}
public void start()//调用run方法
{
run();
}
}
class ThreadDemo extends Thread
{
ThreadDemo()
{
super();
}
public void run()
{
system.out.println("继承Thread的线程");
}
}
main
{
ThreadDemo t = new ThreadDemo();
t.start();
//过程
创建 t 线程对象,通过无参构造,到父类无参构造,再调用父
类start方法,由于ThreadDemo类重写了父类,run方法。所以执行子类
run方法。
}
class RunnableDemo implements Runnable
{
public void run()
{
System.out.println("实现了Runnable的线程");
}
}
main
{
RunnableDemo rd = new RunnableDemo();
Thread t = new Thread(rd);
t.start;
//过程
创建RunnableDemo类实例对象rd,通过有参构造,创建Thread类对
象实例t,把rd传进去。再调用父类start方法,至run方法,条件满足
,调用r.run()方法。因为rd实现了Runnable,所以调用rd的run方法。
}
class Thread implements Runnable
{
private Runnable r;
Thread() //无参构造
{
}
Thread(Runnable r) //有参 runnable构造
{
this.r = r;
}
public void run() //如果 Runnable不为空,执行r.run()
{
if(r!=null)
r.run();
}
public void start()//调用run方法
{
run();
}
}
class ThreadDemo extends Thread
{
ThreadDemo()
{
super();
}
public void run()
{
system.out.println("继承Thread的线程");
}
}
main
{
ThreadDemo t = new ThreadDemo();
t.start();
//过程
创建 t 线程对象,通过无参构造,到父类无参构造,再调用父
类start方法,由于ThreadDemo类重写了父类,run方法。所以执行子类
run方法。
}
class RunnableDemo implements Runnable
{
public void run()
{
System.out.println("实现了Runnable的线程");
}
}
main
{
RunnableDemo rd = new RunnableDemo();
Thread t = new Thread(rd);
t.start;
//过程
创建RunnableDemo类实例对象rd,通过有参构造,创建Thread类对
象实例t,把rd传进去。再调用父类start方法,至run方法,条件满足
,调用r.run()方法。因为rd实现了Runnable,所以调用rd的run方法。
}
阅读全文
0 0
- Thread线程的两种创建方式的传递过程
- Runnable和Thread两种方式创建线程的比较
- 线程Thread的两种创建方式以及区别
- Java线程总结(一):创建线程的两种方式Thread和Runnable
- 线程THread的俩种创建方式
- 创建子线程的两种方式:类实现runnable接口或是类继承Thread类
- 创建线程两种方式的比较
- java 创建线程 的两种方式
- 创建线程两种方式的比较
- 创建线程的两种方式
- 创建线程的两种方式
- 多线程 创建线程的两种方式
- 创建线程的两种方式
- Java线程创建的两种方式
- 创建线程的两种方式
- 创建线程的两种方式
- 创建线程的两种方式。
- java创建线程的两种方式
- 测试好文分享一对如何做好业务测试的一点总结
- 《Ray Tracing in One Weekend》——Chapter 7: Diffuse materials
- C语言也有大学问——指针问题(一)
- 关于HiveQL的常用语法总结(二)——DML
- Setting up CocoaPods master repo 卡着不动
- Thread线程的两种创建方式的传递过程
- 1019. General Palindromic Number (20)
- 快乐数
- 45. Struts2_自定义拦截器
- rnn学习,keras rnn实践 文本生成
- Java 向上转型和向下转型
- 【Git & GitHub】VS2015 上配置使用Git
- opengles(二)画个三角型
- 希尔排序