*** 一.创建线程
1.继承Thread类
定义类继承Thread, 重写run()方法, 将线程中要执行的代码写在run()方法中
创建该类对象, 调用start()方法就可以开启一条新线程, 新线程中自动指定run()方法
public class ThreadDemo1 {
public static void main(String[] args) {
// 3.创建线程对象
MyThread mt = new MyThread();
// 4.启动一条新线程, 新线程上自动执行run()方法
mt.start();
// 5.主线程循环打印
for (int i = 0; i < 100; i++)
System.out.println("A " + i);
}
}
// 1.定义类继承Thread
class MyThread extends Thread {
// 2.重写run方法
public void run() {
for (int i = 0; i < 100; i++)
System.out.println("B " + i);
}
}
2.实现Runnable接口
定义类实现Runnable接口, 重写run()方法, 将线程中要执行的代码写在run()方法中
创建该类对象, 创建Thread类对象, 将Runnable对象传入Thread的构造函数中
调用Thread对象的start()方法就可以开启一条新线程, 新线程中执行Runnable的run()方法
public class ThreadDemo2 {
public static void main(String[] args) {
// 3.创建Runnable对象
MyRunnable mr = new MyRunnable();
// 4.创建Thread对象, 在构造函数中传入Runnable对象
Thread t = new Thread(mr);
// 5.调用start()开启新线程, 新线程自动执行Runnable的run()方法
t.start();
// 6.主线程循环打印
for (int i = 0; i < 100; i++)
System.out.println("A " + i);
}
}
// 1.定义类, 实现Runnable接口
class MyRunnable implements Runnable {
// 2.实现run()方法
public void run(){
for (int i = 0; i < 100; i++)
System.out.println("B " + i);
}
} |