第一节 线程和多线程

一、线程的概念

进程:它是程序的一次动态执行,对应了从代码加载、执行至执行完毕的一个完整过程。
线程:线程是进程执行过程中产生的多条执行线索,是比进程单位更小的执行单位。

相同点:都是用一个按序执行的语句序列来完成特定的功能
不同点:线程没有入口、出口,因此其自身不能自动运行,而必须栖身于某一个进程之中,由进程触发执行。

二、线程的结构

线程由以下 3 部分组成

  • 虚拟cpu,封装在 java.lang.Thread 类中,它控制这整个线程的运行。
  • 执行的代码,传递给 Thread 类,由 Thread 类控制按序执行。
  • 处理的数据,传递给 Thread 类,是在代码执行过程中所要处理的数据。

当一个线程被构造时,它由构造方法参数、执行代码、操作数据来初始化。

三、线程的状态

当生成一个 Tread 类的对象后就产生了一个线程。通过该对象实例,可以启动线程、终止线程,或者暂时挂起线程等。

  1. 新建
  2. 可运行状态
  3. 死亡
  4. 阻塞
  5. 中断线程

第二节 创建线程

第三节 线程的基本控制

第四节 线程的互斥

第五节 线程的同步