一个实现runnable方法的类:
class Test implements Runnable{
private int y=0;
private int x=0;
public void test1(){ //非run方法
for(int i=0;i<10;i++){
System.out.println("非run方法的方法的计算值x="+x++);
}
}
@Override
public synchronized void run() { //run方法
// TODO Auto-generated method stub
for(int i=0;i<10;i++){
System.out.println("run方法的方法的计算值y="+y++);
}
}
}
主程序:
public class Testc {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test = new Test();
Thread thread1 = new Thread(test);
Thread thread2 = new Thread(test);
thread1.start();
thread2.start();
}
}
结果:
4 个解决方案
#1
start方法会让jvm调用线程的run方法
#2
这是系统默认的 继承 相当于你重写 父类的方法了 除非你把父类的Run() 名称改了
#3
我刚刚明白了,可以在run方法中调用其他普通的方法,实现线程的调用,不知道理解的对不对或者还有其他途径,请大神们指教。
#4
通过线程的start去启动线程中的run方法,接着里面在这么是我们看继承的类如何去写
#1
start方法会让jvm调用线程的run方法
#2
这是系统默认的 继承 相当于你重写 父类的方法了 除非你把父类的Run() 名称改了
#3
我刚刚明白了,可以在run方法中调用其他普通的方法,实现线程的调用,不知道理解的对不对或者还有其他途径,请大神们指教。
#4
通过线程的start去启动线程中的run方法,接着里面在这么是我们看继承的类如何去写