1.继承Thread类,重写run方法

package com.thread;

//线程
public class Demo1 {
public static void main(String[] args) {
Cat cat = new Cat();
//启动线程,会导致run函数的运行
cat.start();
}
}

class Cat extends Thread {
// 重写run函数

int times=0;
public void run() {
while (true) {
//休眠一秒,进入阻塞状态
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
times++;
System.out.println("hello world"+times);
if(times==10){
//退出
break;
}
}
}
}


2.实现Runnable接口,重写run方法

package com.thread;

public class Demo2 {

public static void main(String[] args) {
//启动
Dog dog= new Dog();
Thread t=new Thread(dog);
t.start();
}

}

class Dog implements Runnable {

int times = 0;

@Override
public void run() {
while (true) {
// 休眠一秒,进入阻塞状态
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
times++;
System.out.println("hello world" + times);
if (times == 10) {
// 退出
break;
}
}

}

}