一、线程概念:

  1. 线程是程序中的执行路径;
  2. 线程(轻量级程序),类似一个程序,有开始、执行、结束,运行在程序内部比进程还要小的单元
  3. 使用线程主要应用在于可以在一个程序中实现同时运行多个任务
  4. 每个java程序至少拥有一个线程,即主线程。 当一个java程序启动时,JVM会自动创建主线程,并调用main方法

二、 程序、进程、线程三者关系:

◆程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。
◆而进程则是执行程序的一次执行过程,它是一个动态的概念。 是系统资源分配的单位
◆通常在一个进程中可以包含若干个线程,当然一个进程中至少有一 个线程, 不然没有存在的意义。线程是CPU调度和执行的的单位。
线程是进程的基本单位,进程的功能由线程实现

三、多线程

1.概念

多线程就是同时有多个线程在执行。
多CPU的计算机中,多线程的实现是真正的物理上的同时执行
单CPU的计算机中,实现的只是逻辑上的执行,真正执行的只有一个线程,但CPU速度很快,让人感觉像在同时执行。

2.多进程与多线程的区别:

多进程:各个进程之间的数据块是相互独立的,彼此一般互不影响。(可通过管道、信号等交流)
多线程:各个线程不一定独立,同一任务中各个线程共享数据段、程序段等资源。(由此引入“线程同步”,通过“对象锁”实现在某一时刻的某一资源只能有一个线程访问。