一、什么是线程?
1、进程的概念:进程是指可执行程序并存放在计算机存储器的一个指令序列,它是一个动态执行的过程。
2、线程的概念:是比进程还要小的运行单位,一个进程包含多个线程。线程可以看成一个子程序。
二、主要内容
- 什么是多线程
- 线程的创建
- 线程的状态和生命周期
- 线程调度
- 同步与死锁
三、线程的创建
方法一:创建一个Thread类,或者一个Thread子类的对象,重写run()方法,run()代表线程要执行的任务。
- Thread是一个线程类(实现了Runnable接口),位于Java.lang包下。
构造方法
常用方法 
方法二:创建一个实现Runnable接口的类的对象,重写run()方法,run()代表线程要执行的任务。
- Runnable接口
- 只有一个方法run()
- Runnable是Java中用以实现线程的接口,任何实现线程功能的类都必须实现该接口
方法三:创建一个实现callable接口的类的对象,重写call()方法,call()作为线程的执行体,具有返回值,并且可以对异常进行声明和抛出;使用start()方法来启动线程。
实现步骤:
- 创建Callable接口的实现类,并实现call()方法,该方法将作为线程执行体,并且有返回值。
- 创建Callable实现类的实例,使用FutureTask类来包装Callable对象,该FutureTask对象封装了该Callable对象的call()方法的返回值。
- 使用FutureTask对象作为Thread对象的target创建并启动新线程。
- 调用FutureTask对象的get()方法来获得子线程执行结束后的返回值。