[置顶] JAVA中创建线程的两种方式

在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。

    1、需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法;
    2、实现Runnalbe接口,重载Runnalbe接口中的run()方法。

第一种CODE:

package thread;

public class ThreadDemo1 extends Thread{

	/**
	 * 创建线程的第一种方法
	 * @author Sun1956
	 */
	@Override
	public void run() {         //重写run方法
		System.out.println("创建线程的第一种方法");
	}
	public static void main(String[] args) {
		ThreadDemo1 thread = new ThreadDemo1();
		thread.start();   //启动线程

	}

}

第二种CODE:

package thread;

public class ThreadDemo2 implements Runnable{
		
	/**
	 * 创建线程的第二种方法
	 * @author Sun1956
	 */
	@Override
	public void run() {            //重写run方法
		System.out.println("创建线程的第二种方法");
	}
	
	public static void main(String[] args) {
		ThreadDemo2 t = new ThreadDemo2();
		Thread thread = new Thread(t);     //创建实例
		thread.start();
	}
}

两者的区别:

在Java中,类仅支持单继承,也就是说,当定义一个新的类的时候,它只能扩展一个外部类.这样,如果创建自定义线程类的时候是通过扩展 Thread类的方法来实现的,那么这个自定义类就不能再去扩展其他的类,也就无法实现更加复杂的功能。因此,如果自定义类必须扩展其他的类,那么就可以使用实现Runnable接口的方法来定义该类为线程类,这样就可以避免Java单继承所带来的局限性。

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