创建线程的两种方式
原创
©著作权归作者所有:来自51CTO博客作者hoho_12的原创作品,请联系作者获取转载授权,否则将追究法律责任
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;
}
}
}
}