本文将介绍创建线程的两种方式,示例代码在下面,复制粘贴即可
继承Thread类方式和实现Runnable接口方式
区别:由于在开发的过程中,很多的类都会用到继承的方式,如果采用继承的方式会让各个类之间的关系变得错综复杂
使得程序的可读性变差,所以在开发当中一般都用实现接口的方式,而且实现接口的方式还可以共享资源,共享资源的
示例将在以后列出。
/*
* 创建线程的第一种方式:继承方式
* 1.定义线程类,继承Thread类
* 2.覆盖其中的run方法,并且run方法得用public修饰,否则系统会报错
* 3.在主函数中创建线程对象
* 4.调用线程对象的start方法
*/
class xiancheng extends Thread//第一步
{
public void run() //第二步
{
for(int x=0;x<60;x++)
{
System.out.println("1");
}
}
}
public class Test1 {
public static void main(String[] args)
{
xiancheng t=new xiancheng();//第三步
t.start();//第四步
for(int x=0;x<500;x++)
{
System.out.println("2");
}
}
}
/*
* 创建线程的第二种方式:实现接口
* 1.定义线程类并实现Runnable接口
* 2.覆盖Runnable中的run方法
* 3.创建Runnable的子类线程对象
* 4.将创建的子类对象作为参数传给Thread类的构造函数中
* 5.调用start方法开启线程
*/
class xiancheng1 implements Runnable//第一步
{
public void run() //第二步
{
for(int x=0;x<60;x++)
{
System.out.println("1");
}
}
}
public class Test2 {
public static void main(String[] args)
{
xiancheng1 t=new xiancheng1();//第三步
Thread t1=new Thread(t);//第四步
t1.start();//第五步
for(int x=0;x<500;x++) //主线程
{
System.out.println("2");
}
}
}