01-线程(概念篇)

打开任务管理器

 

 

PID: 进程编号

 


 

一、概念: 程 序 、进 程、线 程
 
程 序: -存放在硬盘/磁盘上的可执行文件。 ( 数据结构 + 算法 = 程序 )
 
进 程: -运行在内存中的程序。
-即,每一个运行中的程序都是一个进程;
-在这个进程的内部包含多个执行单元,而每个执行单元就是一个线程,而且每个进程中至少包含一个线程。
 
多进程: -应 用: 目前主流的操作系统都是支持多进程。而每个进程里面又多支持多线程。
-多进程的缺点: 进程是重量级的,新建进程对系统的资源消耗比较大;
-多进程的优点: 提供多进程是为了让操作系统同时执行多个任务。
 
线 程: -线程就是进程内部的程序流。
 
多线程: - 应用: 以后的主流开发都采用多线程技术。
- 优点: 线程是轻量级的,新建线程对系统的资源消耗比较小,通常会共享所在进程的资源。
 

操作系统中采用 时间片轮转法 来保证多个进程 / 线程并发执行,所谓的并发就是 :宏观并行,微观串行
 
Java虚拟机的多线程:是通过 线程流转切换并分配处理器执行时间 的方式来实现的。
 
时间片轮转法: 比如cpu有1秒的执行时间,把1秒钟平分成100份。然后,给了3个线程各自一份,迅速来回切换。
 
宏观并行,微观串行
  • 宏观上而言,同一个时间段上,3个线程都在工作;
  • 微观上而言,时间点上的某一时刻,Cpu只能给一个线程执行。
 
 
在多任务操作系统中,表面上支持 进程并发执行。例如,可以一边听音乐,一边看小说。
但,实际上 这些程序并不是同时执行的。
因为CPU具备分时机制每个时间点只能执行一个程序,只不过由于CPU运行速度非常快,能够在极短的时间内在不同的进程之间进行切换,所以给人以 同时执行多个进程的感觉。
 
 

二、多线程 技术
1、概念:是指在软件 或者 硬件 上实现多个线程 并发执行的技术。
 
2、优势
具有多线程能力的计算机 因为有硬件支持而使其能够在同一时间执行多个线程,进而提升整体的处理性能。
  既能节省空间,系统资源。还能同时执行多个任务。

 



重点注意:
当一个Java程序启动时,就会产生一个进程。该进程会默认创建一个线程,称为 主线程。
在主线程上会运行 main( )方法中的代码。
代码按照顺序 依次调用的程序,称为 单线程程序。
若希望程序中 ,实现多段程序代码 交替执行的效果,则需要创建多线程程序。
多线程程序在运行时,每个线程之间都是独立的,它们可以并发执行,这里的并发是相对的,也就是 说看起来是同时执行的,而实际上和进程一样,也是由CPU轮流调度的。

 
 
Java中只有 多线程 技术! 没有 多进程 技术。
 
 
 
 

 

 
 
 
 
 

 

 
 
 
 
 
posted @ 2019-10-29 22:41  小茅棚  阅读(141)  评论(0编辑  收藏  举报