package test37;
/***
*
* @author samsung
*
* 该类要重写run()方法 不是类中的所有代码都需要被线程执行的
* 而这个时候,为了区分哪些代码能够被线程执行,java提供了Thread类中的tun()用来包含哪些被线程执行的代码。
*
* 一般来说,被线程执行的代码肯定是比较耗时的,用循环改进
* 一般重写run方法还是单线程的方式,相当于普通的方法调用
* 因此,还可以用start()使线程开始执行,Java虚拟机调用线程的run方法。
*
* run()和start()的区别:
* run():仅仅是封装被线程执行的代码,直接调用是普通方法
* start():首先启动了线程,然后再由jvm去调用该线程的run()方法
*
* IllegalThreadStateException:非法的线程状态异常 同一个线程不能被调用两次否则出现错误
*
*/
public class MyThreadDemo {
public static void main(String[] args) {
MyThread s=new MyThread();
MyThread s1=new MyThread();
s.start();
s1.start();
}
}
class MyThread extends Thread {
public void run() {
for(int i=1;i<100;i++) {
System.out.println(i+" ");
}
}
}