前言
Java语言内置了多线程支持:一个Java程序实际上是一个JVM进程,JVM进程用一个主线程来执行main()
方法,在main()
方法内部,我们又可以启动多个线程。此外,JVM还有负责垃圾回收的其他工作线程等。
和单线程相比,多线程编程的特点在于:多线程经常需要读写共享数据,并且需要同步。例如,播放电影时,就必须由一个线程播放视频,另一个线程播放音频,两个线程需要协调运行,否则画面和声音就不同步。因此,多线程编程的复杂度高,调试更困难。
本节我们来学习Java中创建多线程的几种方式。
方式一 继承Thread
继承Thread,重写里面的run()方法,也就是我们要实现的代码逻辑:
public class MyThread extends Thread {
@Override
public void run() {
System.out.println("hello world");
}
public static void main(String[] args) {
MyThread myThread1 = new MyThread();
myThread1.start();
}
}
启动线程时调用Thread类的start()方法即可。
方式二 实现Runable接口
实现Runable接口,并重写里面的run()方法,即需要实现的代码逻辑
public class RunableThread implements Runnable{
@Override
public void run() {
System.out.println("hello world")