第五天 : 启动线程和运行线程中方法的区别

版权声明:JAVA,我们的信仰! https://blog.csdn.net/java_wht/article/details/71875416
进程:在系统中应用程序的执行都会用内存,每个应用程序都是一个进程;

线程:每个进程在运行的时候都有多个线程会执行,java的优点就是多线程

 

run()方法里面放的是执行的代码片段;

start()方法是线程的启动方法;

package -------------
public class Demo01 {
	int i;
	public static void main(String[] args) {
		Demo01.Thread1 t=new Demo01().new Thread1();
		Demo01.Thread1 t1=new Demo01().new Thread1();
		
		t.run();
		t1.run();
		t.start();
		t1.start();
	}
	
class Thread1 extends Thread{

	@Override
	public void run() {
		// TODO Auto-generated method stub
		for(i=0;i<10;i++){
			System.out.println(Thread.currentThread().getName()+"---i="+i);
			try {
				sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
}
}

分析结果可知:

对象执行run(),只有一个主线程main按照代码的顺序自顶层往下层开始执行

对象执行start(),线程开始就绪,线程调解器利用线程调度系统开始交互的执行线程中的run()

总结:调用run()是顺序执行,调用start()是交互执行;

 

 

阅读更多
想对作者说点什么?

博主推荐

换一批

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