1.多线程的创建与启动
- 若要开启多线程,需要将运行的代码逻辑写欸到Thread对象的run()方法里
- 通过Thread对象的start()方法来启动线程
2.创建线程的两种方式
方式一 继承Thread类
- 继承Thread类,重写Thread类中run()方法
- 创建Thread子类对象,即线程对象,调用线程对象的start方法,启动线程
案例:
首先创建Thread子类,如下:
/**
* 继承Thread方式实现多线程
*/
public class TestThread extends Thread {
@Override
//重写run()方法
public void run() {
System.out.println("多线程运行的代码");
for (int i = 0; i < 5; i++) {
System.out.println("这是多线程的逻辑代码" + i );
}
}
}
然后写主程序调用:
public class Test {
public static void main(String[] args) {
Thread t0 = new TestThread();
t0.start();
System.out.println("===========" + 1 );
System.out.println("===========" + 2 );
System.out.println("===========" + 3 );
}
}
执行结果如下:
方式二 实现Runnable接口
Runnable接口实现类
/**
*通过实现Runnable接口方式实现多线程
*/
public class TestRunnable implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "Runnable多线程运行的代码");
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + "这是Runnable多线程的逻辑代码" + i );
}
}
}
主函数
public class Test {
public static void main(String[] args) {
// Thread t0 = new TestThread();
// t0.start();
//方式一
Thread t1 = new Thread(new TestRunnable());
t1.start();
//方式二
Thread t2 = new Thread(new TestRunnable(),"t2-");
t2.start();
System.out.println("===========" + 1 );
System.out.println("===========" + 2 );
System.out.println("===========" + 3 );
}
}
结果: