文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python3进程和线程

2023-01-31 08:21

关注

进程基本概念

  1. 进程是执行中的程序, 也就是说进程是动态的, 程序是静态的
  2. 进程是操作系统分配资源的最小单位,有一个进程控制块(PCB), 有自己唯一的一个进程标识符(PID)
  3. 进程之间相互独立, 内存不共享
  4. 每个进程都是一个实体, 每个进程都有属于自己的一块内存, 进程是一个执行中的程序
  5. 进程的创建,销毁,切换的开销都比较大
  6. 进程只能创建子进程, 无法创建平级进程

进程三种状态

  1. 就绪: 获取到除CPU之外的其他所有资源, 只要处理器分配资源就可以马上运行, 此时进程处于就绪队列中, 等待获得处理机
  2. 运行: 就绪状态的进程获取到CPU之后转为运行状态, 进程开始执行
  3. 阻塞: 进程申请的资源未被满足, 比如申请一个临界资源时(临界区是进程访问临界资源的那一段代码), 资源正在被其他进程使用, 这时进程进入阻塞状态, 释放处理器, 进程的阻塞是主动的, 也就是自己将自己阻塞, 这时进程会被加入阻塞队列, 在实际中, 可能会有多个阻塞进程, 分别放置因为不同原因被阻塞的进程. 当一个进程使用完临界资源后, 会到阻塞队列中去唤醒处于阻塞队列头的进程.

CPU处理进程方式

时间片轮转:
给每个进程分配一个时间片, 如果进程在时间片内执行完就直接执行下一个进程, 如果没执行完, 进程释放CPU给下一个进程
优先级队列:
在优先级队列中, 每个进程都会被分配优先级(优先级有静态和动态之分, 所谓静态便是在整个运行过程中优先级不会改变, 而动态优先级在运行时, 优先级会发生改变),处理机每次选择当前优先级最高的进程执行.
非抢占式和抢占式区别:
非抢占式: 在进程运行时, 不允许别的进程剥夺当前运行进程的处理器, 在这种情况下, 在用优先级分配处理机时, 正在运行的进程优先级不一定是当前所有进程中优先级最高的, 因为可能在进程运行过程中有更高的进程被加入到就绪队列中.
抢占式: 在进程运行中, 已获得处理机的进程可能会被新来的优先级更高的进程剥夺处理机.


线程基本概念

  1. 线程是CPU的基本调度单位
  2. 一个进程一般包含多个线程, 一个进程下的多个线程共享进程的资源
  3. 不同进程之间的线程相互不可见
  4. 线程不能独立执行
  5. 一个线程可以创建和撤销另外一个线程

  1. 一个进程至少有一个进程, 一个进程至少有一个线程
  2. 进程有自己独有的内存单元, 而多个线程共享一块内存单元
  3. 一个进程死掉对于其他进程无影响, 但是一个线程死掉整个进程都会死掉, 所以多线程程序没有多进程程序健壮

协程基本概念

  1. 协程是用户模式下的轻量级线程, 协程不被内核所知
  2. 协程由用户自己调度
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯