黑马程序员技术交流社区
标题:
线程问题
[打印本页]
作者:
张亮
时间:
2012-4-6 09:10
标题:
线程问题
public class TestThread1 {
public static void main(String [] args){
MyThread mt=new MyThread();
Thread t = new Thread(mt);
t.start();
for(int i=0;i<=100;i++) {
System.out.println("main: "+i);
}
}
}
class MyThread implements Runnable {
public void run(){
for(int i=0;i<=100;i++) {
System.out.println("---------"+i);
}
}
}
复制代码
我的问题是:怎么理解Thread t = new Thread(mt)这句话。怎么理解把mt传到Thread的构造方法中。
作者:
曾晓文
时间:
2012-4-6 09:20
通过new MyThread();在堆内存里创建了一个对象,把对象的地址放到 引用变量 mt里。new Thread(mt)这代码意思是把刚才 在堆里创建的 MyThread 对象的地址传给 该Thread对象,使该对象知道要操作的MyThread对象放在堆的哪个地方
作者:
莫运飞
时间:
2012-4-6 09:50
Thread t = new Thread(mt): 这是创建一个线程
怎么理解把mt传到Thread的构造方法中:因为MyThread中的run方法所属的对象是Runnable的子类对象。所以要让线程去指定对象的run方法,
就必须明确该run方法所属对象,所以要把 mt传到Thread的构造方法中
作者:
niceBoy
时间:
2012-4-6 23:40
怎么理解把mt传到Thread的构造方法中:因为线程必须实现run方法,mt传到Thread的构造方法中是为了指定线程要执行哪个对象的run方法
作者:
刘_浩
时间:
2012-4-7 10:59
Thread t = new Thread(mt),这样就创那好了一个线程,但是仅是一个线程,必在有类去实现在Runnable。mt只能代表一个对象,t代表的是一个线程,Runnble是Thread已实现的接口,所以Runnble和Thread已经有关系了;然后对象mt与Runnable也是有关系的;所以对象mt和Thread也有了关系。Thread中有一个带参加的构造函数。也就是对应该创建的Thread t = new Thread(mt);。说得太多了,希望你能明白。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2