Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式

时间:2022-02-22 17:32:38
//第一种:通过实现Runnable接口创建线程
class Thread01 implements Runnable
{
	public void run()
	{
		
	}
}
//启动线程
Thread01 t=new Thread01();
new Thread(t).start();


//第二种:通过继承Thread类创建线程
class Thread01 extends Thread
{
	public void run()
	{
		
	}
}
//启动线程
Thread t=new Thread01();
t.start();


/*
比较两种创建线程的方式:
通过实现Runnable接口创建线程:声明一个实现接口Runnable的类,该类实现接口的run方法,对这个类进行实例化.
启动线程:new Thread(这个类的对象).starat();

通过继承Thread类创建线程:生一个Thread类的子类,该类重写父类的run方法,对这个类进行实例化,然后通过这个类的对象去调用start方法.
启动线程:new Thread_er().start();
*/

//举例


//1.通过实现Runnable接口的方式创建线程
class ZaoShang implements Runnable
{
	public void run()
	{
		System.out.println("早上好!");
	}
}
class ZhongWu implements Runnable
{
	public void run()
	{
		System.out.println("中午好!");
	}
}

class WanShang
{
	public static void main(String[]args)
	{
		ZaoShang z=new ZaoShang();
		ZhongWu zh=new ZhongWu();
		new Thread(z).start();
		new Thread(zh).start();
		System.out.println("晚上好!");//这句最先输出.
	}
}


//2.通过继承Thread类,创建线程
/*
class ZaoShang extends Thread
{
	public void run()
	{
		System.out.println("早上好!");
		new ZhongWu().start();
	}
}
class ZhongWu extends Thread
{
	public void run()
	{
		System.out.println("中午好!");
	}
}

class WanShang
{
	public static void main(String[]args)
	{
		new ZaoShang().start();
		System.out.println("晚上好!");
	}
}
*/

Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式