package thread;
//创建线程方式1 继承Thread类,重写run方法,调用start开启线程
//总结:注意,线程开启不一定立即执行,由cpu调度执行
public class TestThread1 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线程,主线程
//创建一个线程对象
TestThread1 t = new TestThread1();
//调用start方法开启线程
t.start();
for (int i = 0; i < 20; i++) {
System.out.println("我在学习多线程-----"+i);
}
}
}
2、实现runnable接口
package thread;
//创建线程方式2:实现runnable接口,重写run方法,执行线程需要丢入runnable接口实现类,并调用start方法
public class TestThread2 implements Runnable{
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 20; i++) {
System.out.println("我在看代码-----"+i);
}
}
public static void main(String[] args) {
//main线程,主线程
//创建一个runnable接口的实现类
TestThread2 testThread2 = new TestThread2();
new Thread(testThread2).start();
for (int i = 0; i < 20; i++) {
System.out.println("我在学习多线程-----"+i);
}
}
}