Python网络编程1

版权声明:转载请声明 https://blog.csdn.net/dirckes8813/article/details/85156456

进程线程详细介绍看隔壁一篇


1、多任务编程

  • 1、意义 :充分利用计算机的多核资源,同时运行多个任务,提高程序执行效率
  • 2、实现方法 :多进程、多线程

2、概念

  • 1、并发 :同时处理多个任务,内核在任务间不断地切换,达到好像多个任务同时被执行的效果,实际上每一时刻只有1个任务在占有CPU
  • 2、并行 :一起执行,多个任务利用计算机的多核资源同时执行,此时多个任务之间是并行关系
  • 3、示例 :在计算机系统中,并行和并发是同时存在的
    计算机 :2核
    任务 :QQ、微信、爱奇艺、英雄联盟、Chrome
    并发 :这5个任务间存在着并发关系
    并行 :第1核(QQ)、第2核(微信)

3、进程(process)

  • 1、进程和程序的定义和区别
    • 1、进程 :程序在计算机中的1次运行过程
    • 2、程序 :可执行文件,静态的,占用磁盘
    • 3、区别 :进程是一个动态过程,占用计算机资源(CPU、内存),有生命周期
      程序为1个文件,占用外存储器(磁盘)
      主存储器:CPU、内存
      外存储器:磁盘
  • 2、进程的诞生
    • 1、用户通过启动程序,或者调用进程创建接口发起请求
    • 2、操作系统接收用户请求,开始创建进程
    • 3、操作系统分配计算机资源,确定进程状态,开辟空间等
    • 4、把进程提供给用户使用
  • 3、进程相关概念
    • 1、CPU时间片 :如果1个进程占用CPU,则称这个进程在CPU时间片上,谁获取到了CPU时间片,谁就可以执行,其他进程等待
    • 2、PCB(进程控制块) :在内存中开辟的一块空间,存放进程的基本信息,也是操作系统调用进程的重要标志
    • 3、进程ID(PID) :系统为每1个进程分配1个不重复的ID号,该进程在系统中的标识
      查看进程信息 :ps -aux
    • 4、父子进程 :系统中每个进程都有唯一的父进程
      • 1、查看进程树 :pstree
      • 2、示例 :写1个程序,每隔2秒打印一下时间
      • 3、1个终端运行程序,在另1个终端执行ps -aux
    • 5、进程状态
      • 1、三态
        就绪态 :具备执行条件,等待系统分配CPU时间片
        运行态 :占有了CPU时间片
        等待态 :进程暂时阻塞,不具备执行条件
      • 2、五态
        新建态 :创建新进程获取资源的过程
        终止态 :进程结束,释放资源的过程
      • 3、查看进程状态 :ps -aux 查看STAT列
        STAT列
        S :等待态(sleep,可中断等待态,阻塞函数)
        D :等待态(不可中断,系统进程)
        T :暂停态(后台程序运行,暂停执行,没结束)
        R :运行态
        Z :僵尸进程
      • 4、进程的优先级
        • 1、作用 :决定进程的优先权限和占有资源的优先程度
      • 2、Linux优先级范围(40级) -20~19,越小越高
        默认优先级为0
      • 3、查看优先级的命令 :top 查看NI列
        指定优先级 :nice -3 python3 01_time.py
        nice --3 python3 01_time.py
      • 5、杀死1个进程
        • 1、ps -aux | grep “” 找到进程PID号
        • 2、kill -9 PID号

猜你喜欢

转载自blog.csdn.net/dirckes8813/article/details/85156456