Java——线程启动

方法一:

public class Test implements Runnable{	
	public void run() {
		System.out.println("线程启动!");
	}
	public static void main(String[] args) {
		Test thead = new Test();
		thead.run();
		//thead.start();不能调用start方法
	}	
}
输出结果:线程启动!

public class Test implements Runnable{	
	public void run() {
		System.out.println("线程启动!");
	}
	public static void main(String[] args) {
		Test thead = new Test();
		Thread t = new Thread(thead);
		thead.run();
		t.start();
	}	
}
输入结果:线程启动!
            线程启动!
public class Test implements Runnable{	
	public void run() {
		System.out.println("线程启动!");
	}
	public static void main(String[] args) {
		Test thead = new Test();
		Thread t = new Thread(thead);
		t.run();
		t.start();
	}	
}

输入结果:线程启动!
    线程启动!
由以上看出,start()方法存在于Thread这个类中,想要调用start()方法必须使用Thread这个类。
方法二:

public class Test extends Thread{	
	public void run() {
		System.out.println("线程启动!");
	}
	public static void main(String[] args) {
		Test thead = new Test();
		thead.start();
	}	
}

让测试类Test直接继承Thread类,就不用实例化Thread对象,而直接调用start方法。
PS:1.推荐使用实现Runnable接口,类实现了Runnable接口还能实现或者继承其他接口或者类,使用起来比较灵活方便。
          2.start()是使线程之间同步执行
               run()是使run()方法先执行,后再执行其他线程





你可能感兴趣的:(JavaSE,java,线程)