创建线程方式一:
(1)继承Thread类
(2)重写run方法
(3)调用start方法
package TestThread;
//创建线程方式一:继承Thread类,重写run()方法,调用start开启线程
public class TestThreadDemo1 extends Thread {
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 20; i++) {
System.out.println("我再写代码---"+i);
}
}
public static void main(String[] args) {
//main方法主线程体
//创建一个线程对象
TestThreadDemo1 testThreadDemo1 = new TestThreadDemo1();
//调用start方法开启线程
testThreadDemo1.start();
for (int i = 0; i < 2000; i++) {
System.out.println("我再学习---"+i);
}
}
}
注意:线程开启不一定立即执行,由CPU调度执行
创建线程方式二:
(1)实现runnable接口,重写run方法
(2)执行线程需要丢入runnable接口实现类
(3)调用start方法
package TestThread;
//创建线程方式二: 实现runnable接口,重写run方法,执行线程需要丢入runnable接口实现类,调用start方法
public class TestThreadDemo2 implements Runnable{
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println("哈哈哈哈---"+i);
}
}
public static void main(String[] args) {
//创建一个runnable接口实现类对象
TestThreadDemo2 testThreadDemo2 = new TestThreadDemo2();
//创建线程对象,通过线程对象来开启线程
new Thread(testThreadDemo2).start();
for (int i = 0; i < 5000; i++) {
System.out.println("你是猪吧---"+i);
}
}
}