码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JavaEE——进程与线程的关系


    Java传送门

    JavaSE

    JavaEE

    JavaEE——进程调度


    目录

    • 进程与线程的关系
      • 1.为什们要有线程
      • 2.线程的概念
      • 3.多线程的好处
      • 4.进程与线程的区别


    进程与线程的关系

    1.为什们要有线程

    首先, “并发编程"成为"刚需”, 但仍存在一个 重要问题:

    我们写一个 服务器程序,我们可以针对每个客户端,分别创建一个进程,去提供服务。但服务器这里可能有多个客户端,来来回回。每次有个新客户端来了,都需要创建个线程来服务,客户端走了,进程就销毁。

    如果我们频繁的创建、销毁进程,这个操作是比较低效的。

    20200811130123_5074f

    为什么是低效的呢?

    进程的操作步骤为:

    1. 创建PCB
    2. 给进程分配资源(内存/文件),赋值到PCB中
    3. 把PCB插入链表

    进程的销毁步骤为:

    1. 把PCB从链表上删除
    2. 把PCB中持有的资源释放
    3. 销毁PCB

    而在第二个步骤中,分配资源和释放资源这件事,对于操作系统来说是比较消耗时间的的。

    # 注意 #

    为了解决这个问题,这时我们就要使用到进程。


    2.线程的概念

    1. 线程是被包含在进程中的。
    2. 一个进程会默认有一个线程,也可以有多个线程。
    3. 每个线程都是一个“执行流”可以单独在CPU上就行调度。每个线程之间都可以按照顺讯执行自己的代码。多个线程之间 “同时” 执行着多份代码。
    4. 同一个进程中的这些线程,公用同一份系统资源(内存+文件)。

    我们也把线程称为“轻量级进程”

    • 创建线程比创建进程更快.
    • 销毁线程比销毁进程更快.
    • 调度线程比调度进程更快.

    3.多线程的好处

    1. 能够充分利用上多核CPU,能够提高效率
    2. 只是创建第一个线程的时候,需要申请资源,后续在创建新的线程,都是共用同一份资源(节省了申请资源的开销)
    3. 销毁线程的时候,也是销毁到最后一个的时候,才真正释放资源,前面的线程销毁,都不必真正释放资源

    4.进程与线程的区别

    进程线程
    进程包含线程\
    \线程比进程更轻量,创建销毁更快
    进程和进程之间不共享空间同一个进程的线程之间共享一个内存空间
    系统分配资源的最小单位系统调度的最小资源

    🌷(( ◞•̀д•́)◞⚔◟(•̀д•́◟ ))🌷

    以上就是今天要讲的内容了,希望对大家有所帮助,如果有问题欢迎评论指出,会积极改正!!
    在这里插入图片描述
    加粗样式

    这里是Gujiu吖!!感谢你看到这里🌬
    祝今天的你也
    开心满怀,笑容常在。
  • 相关阅读:
    Day45:Element-Plus
    TCP/IP协议栈的心跳、丢包重传、连接超时机制实例详解
    如何在Mac电脑上安装WeasyPrint:简单易懂的步骤
    Serverless实战——2分钟,教你用Serverless每天给女朋友自动发土味情话
    简明快速配置 Rust 工具链
    乘法与位运算
    基于单片机的自动变速箱电控系统
    强化深度学习中使用Dyna-Q算法确定机器人问题中不同规划的学习和策略实战(超详细 附源码)
    红日靶机vulnstack第二关
    stm32 - 中断/定时器
  • 原文地址:https://blog.csdn.net/m0_58592142/article/details/126802995
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号