多线程

线程(Thread)是进程(Process,正在运行的程序的实例)中的单一顺序的控制流。多个线程之间共享内存,是同一个进程的不同「支线」。

「多线程」即在一个程序中启动多个线程,表现为多个任务「平行」运行。

启动新线程

首先需要将待启动的新线程放在一个 Thread 类的 run() 方法中,有两个方法创建这种类:

然后调用这个类的 start() 方法,将立即返回,同时线程启动开始运行。不能直接调用它的 run() 方法。

// 先做一个类,实现 Runnable 接口
class MyThread implements Runnable {
		// 把要做的事情放在 run() 方法中
		@Override
		public void run() {
				// 做点什么
		}
		public MyThread() {
				super();
		}
}
// 实例化一个对象,然后启动
Thread t = new MyThread();
t.start();

在 Java 8 后用 lambda 表达式可以简写为

Thread t = new Thread(() -> {
		// 做点什么
});
t.start();

线程的停止

线程可以被自发地停止。

~~调用线程的 stop() 方法可以在外部终止一个线程。~~不安全,已经废弃。

线程的状态

在 Java 中线程有 5 种状态,分别是: