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

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

一.进程和线程

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 服务器机房排风系统图,机房新风系统和排风系统的方案设计方法-20210628031546.pdf-原创力文档…

    服务器机房排风系统图,机房新风系统和排风系统的方案设计方法-20210628031546.pdf-原创力文档…______________________________________________________________________________________________________________新风系统的方案设计方法:设计方案时,即便再简单的方案,我们也应该先做方案、再扒图纸、作出预算的程序,这样我们就不会丢项、报错。复杂的项目,应该编制联系人表格;方便现场沟通…

    2022年5月22日
    54
  • 权限持久化—映像劫持检测(Shift后门)[通俗易懂]

    权限持久化—映像劫持检测(Shift后门)[通俗易懂]映像劫持说白了还是利用了windows的一些特性,当你点击可执行文件进行执行时,系统并不会直接就对可执行文件进行执行,而是首先对注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ImageFileExecutionOptions,这个路径下面如果存在和该程序名称完全相同的子键,就查询对应子健中包含的“Dubugger”键值名,并用其指定的程序路径来代替原始的程序,之后执行的是遭到“劫持”的虚假程序。比较常用的是.

    2022年9月17日
    0
  • pki基于对称加密算法保证网络通信安全_网络安全体系结构

    pki基于对称加密算法保证网络通信安全_网络安全体系结构PKI(PublicKeyInfrastructure的缩写)即”公开密钥体系”,是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。原有的单密钥加密技术采用特定加密密钥加密数据,而解密时用于解密的密

    2022年8月22日
    9
  • ubuntu安装qt5.12_ubuntu安装分区

    ubuntu安装qt5.12_ubuntu安装分区下载Qt安装包官网下载速度较慢,可以从国内镜像下载。清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/中国互联网络信息中心:https://mirrors.cnnic.cn/qt/安装包名称:qt-opensource-linux-x64-5.14.2.run./qt-opensource-linux-x64-5.14.2.run安装好后需要一些配置才能开始开发

    2022年10月15日
    2
  • 【WTM-多租户改造】「建议收藏」

    【WTM-多租户改造】「建议收藏」WTM-多租户改造

    2025年5月24日
    2
  • 使用 Linux 命令行发送邮件

    使用 Linux 命令行发送邮件mailx与sendmail辨析mailx是邮件客户端。人们可以使用它编写邮件,然后把邮件传递给本地的邮件传输服务器。sendmail是邮件服务器。它可以与远端的邮件服务器通信,收发邮件

    2022年7月2日
    19

发表回复

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

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