一、方式1——继承Thread类
1、实现步骤:
(1)创建一个继承了Thread类的子类
(2)在子类中重写run方法
(3)创建Thread对象
(4)调用Thread类中的start方法,开启新线程,执行重写后的run方法
//1.创建一个继承了Thread类的子类
public class ThreadTest extends Thread{
//2.子类中重写run方法
@Override
public void run() {
for(int i=0;i<5;i++)
System.out.println("新线程 去吃饭");
}
}
public class ThreadTestDemo {
public static void main(String[] args) {
//3.主线程中创建子类对象
ThreadTest test = new ThreadTest();
//4.创建的对象调用start方法,开启线程,执行重写后的run方法
test.start();
for(int j=0;j<5;j++){
System.out.println("main主线程 去睡觉");
}
}
}
main主线程 去睡觉
main主线程 去睡觉
main主线程 去睡觉
main主线程 去睡觉
main主线程 去睡觉
新线程 去吃饭
新线程 去吃饭
新线程 去吃饭
新线程 去吃饭
新线程 去吃饭
显然,此时main方法(主线程)能够更快的抢占CPU资源,可以通过以下代码使线程休眠
Thread.sleep(1000);//休眠1秒钟
由此,代码可以改写为:
//1.创建一个继承了Thread类的子类
public class ThreadTest extends Thread{
//2.子类中重写run方法
@Override
public void run() {
for(int i=0;i<5;i++)
System.out.println("新线程 去吃饭");
//try---catch 捕获异常,并打印异常性质,位置..
try{
Thread.sleep(1000);
}catch (Exception e){
e.printStackTrace();
}
}
}
public class ThreadTestDemo {
public static void main(String[] args) th