package thread_;
/*
* 演示通过继承Thread类创建线程
*
* 这页有2个线程(1.主方法本身是一个线程 2.主方法里面的start()也是一个线程)
* */
public class ThreadUse {
public static void main(String[] args) throws InterruptedException {
//创建Cat对象,当作线程使用
Cat cat = new Cat();
cat.start();//启动线程(Cat类里面的run方法)真正实现多线程的效果的不是run(),是其底层的start0()由JVM调用
//说明:当main线程启动一个子线程Thread - 0 ,主线程不会阻塞,会继续执行.此时,主线程和子线程就会就会交替进行
System.out.println("主线程继续执行"+Thread.currentThread().getName());//主方法的线程名字就是 main
for (int i = 0; i < 80; i++) {
System.out.println("主线程i="+i);
//主线程休眠一秒
Thread.sleep(1000);
}
}
}
/*
* 当一个类继承了Thread类,该类就可当作线程使用
*/
class Cat extends Thread{
int times = 0;
@Override
public void run() {//重写run方法,x写上自己的业务逻辑
while (true) {
//线程每隔1s在控制台输出“猫咪输出”
System.out.println("猫咪输出"+(++times)+"-线程名称:"+Thread.currentThread().getName());
//每输出一句话就让线程休眠1s
try {//(try...catch Ctrl+Alt+T)
Thread.sleep(1000);//里面单位是ms
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
if (times>80){
break;//退出线程
}
}
}
}
演示通过继承Thread类创建线程
最新推荐文章于 2024-07-27 15:45:10 发布