多线程(一)—进程和线程的概念

多线程(一)—进程和线程的概念

一.进程和线程

1)概念区别

进程:正在进行的程序【代码块】,操作系统会为正在运行的程序分配内存空间
线程:本质就是一条执行路径,可以理解为是进程的子任务【迅雷、百度网盘多资源下载】, 一个进程可以只包含一个线程,也可以包含多个线程

2)问题:默认java虚拟机进程开辟了几条线程?

答:至少有两条线程,主线程[main方法],垃圾回收线程[GC守护线程]

三.多进程和多线程

1)概念区别

多进程:在操作系统的层面上,同时运行多个程序
多线程:在同一进程的层面上,同时运行多条程序

2)开启多线程和开启多进程的好处?

多进程的好处: 提高了CPU的使用率
多线程的好处: 提高了进程的使用率,从而提高了CPU的使用率

3)为什么需要多线程?

    1. 防止线程阻塞,提高用户体验
    1. 能够提高程序的执行效率
    1. 为了能够让多个任务看起来像是”同时执行”

四.多线程执行原理

  • 1.上下文切换: 在多个线程之间切换执行,称为上下文切换
  • 2.在Java中,CPU采用抢占式【随机性】调度模型获取CPU的资源
  • 3.CPU在某一个时间刻度上只能够执行一个进程的一个线程的一条原子性语句
  •  注意: 原子性语句: 不可再分割的语句
    
  • 4.CPU执行速度非常快,在上下文切换的过程我们肉眼无法察觉,
  • 所以开启多个线程本质上并不能够提高系统的执行速度,反而会降低速度
  • 但是合理地开辟多线程,可以提高CPU的使用率,也可以提高进程的效率

五.重要的概念

1.并行和并发

并发:在同一个时间段[可以分割的时间]可以同时执行[单核处理器]
并行:在同一时间刻度[不可再分割的时间单位]可以同时执行[多核处理器]
高并发:线程数量很大

2.同步和异步:

同步:按照顺序依次执行每一个任务,不会出现线程安全问题
异步:可以同时执行多个任务,相互之间互不影响,例如ajax请求

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2338.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 配置管理项的定义

    配置管理项的定义项目立项后 无论项目规模如何 基于管理需要 我们都会建立配置管理计划 配合项目的有效管理 根据项目特点及管理模式 项目配置项的建立各不相同 可是 无论怎么改变 最终的目标都是一个 方便项目管理 便于资源共享 nbsp nbsp nbsp 最近一个项目中 我在配置项中采取如下思想进行配置计划 nbsp nbsp nbsp 一级目录 以 trunk branches tags 为起点 考虑到配置管理工具 我们选择流行的 svn 基线 trun

    2025年7月2日
    0
  • 0187eaia data access error_文档错误码700015

    0187eaia data access error_文档错误码700015AnalyticDB错误码-DDL,ACL相关范围说明18000~18599DDLCREATE语句用户错误18600~18799DDLALTER语句用户错误18800~18899DDLDROP语句用户错误18900~18999ACL操作相关用户错误19000~19599D…

    2025年12月12日
    5
  • 初中英语语法(015)-附加疑问句

    初中英语语法(015)-附加疑问句附加疑问句附加疑问句由陈述句加简短附加问句构成,用以要求对方证实所述之事。附加疑问句主要有两种:一类是反意的附加疑问句,另一类是非反意附加疑问句。例如:1、附加疑问句句尾上升语调,表示询问。(1)YouarefromJapan,aren’tyou?-你来自日本,对吗?AreyoufromJapan?-这句话等同于上句回答方法也相同Yes/No,Iam/I…

    2022年7月16日
    22
  • 黑群晖安装与使用

    黑群晖安装与使用本教程是一个完整教程,教你0基础0配件安装群晖NAS服务器。

    2022年5月18日
    100
  • Protel 99SE汉化教程

    Protel 99SE汉化教程Protel99se是一款设计电路原理图和PCB的专业软件,它是由ProklTechnology开发出来的电路板设计软件,拥有功能强大、界面简洁等特点。Protel99se软件是由两大部分组成:电路原理图设计(AdvancedSchematic)和多层印刷电路板设计(AdvancedPCB)。安装教程原文链接:https://blog.csdn.net/weixin_42693097/a…

    2022年5月30日
    152
  • 密码找回

    密码找回

    2021年5月10日
    136

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号