线程Thread调用run方法和start方法的区别

如果是调用thread的run方法,则只是一个普通的方法调用,不会开启新的线程

package cn.itcast_01_mythread.thread.testThread;


import java.util.Random;


public class MyThreadWithExtends extends Thread {
String flag;

public MyThreadWithExtends(String flag){
this.flag = flag;
}




@Override
public void run() {
String tname = Thread.currentThread().getName();
System.out.println(tname+"线程的run方法被调用……");
Random random = new Random();
for(int i=0;i<20;i++){
try {
Thread.sleep(random.nextInt(10)*100);
System.out.println(tname+ "...."+ flag);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}


public static void main(String[] args) {
Thread thread1 = new MyThreadWithExtends("a");
Thread thread2 = new MyThreadWithExtends("b");
thread1.start();
thread2.start();
/**
* 如果是调用thread的run方法,则只是一个普通的方法调用,不会开启新的线程
*/
// thread1.run();
// thread2.run();
}
}

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试