本小节我们将学习 Java 多线程,通过本小节的学习,你将了解到什么是线程,如何创建线程,创建线程有哪几种方式,线程的状态、生命周期等内容。掌握多线程的代码编写,并理解线程生命周期等内容是本小节学习的重点。
要了解什么是线程,就要先了解进程的概念。
进程,是指计算机中已运行的程序,它是一个动态执行的过程。假设我们电脑上同时运行了浏览器、QQ 以及代码编辑器三个软件,这三个软件之所以同时运行,就是进程所起的作用。
线程是操作系统能够进行运算调度的最小单位。大部分情况下,它被包含在进程之中,是进程中的实际运作单位。也就是说一个进程可以包含多个线程, 因此线程也被称为轻量级进程。
如果你还是对于进程和线程的概念有所困惑,推荐一篇比较优秀的文章,有助于帮助你理解进程和线程的概念。
在 Java 中,创建线程有以下 3 种方式:
Thread
类,重写 run()
方法,该方法代表线程要执行的任务;Runnable
接口,实现 run()
方法,该方法代表线程要执行的任务;Callable
接口,实现 call()
方法,call()
方法作为线程的执行体,具有返回值,并且可以对异常进行声明和抛出。下面我们分别来看下这 3 种方法的具体实现。
Thread
类是一个线程类,位于 java.lang
包下。
Thread
类的常用构造方法如下:
Thread()
:创建一个线程对象;Thread(String name)
:创建一个指定名称的线程对象;Thread(Runnable target)
:创建一个基于 Runnable
接口实现类的线程对象;