# 多任务 # 什么是多任务? # 顾名思义,多任务就是任务很多,如果同一时间的任务很多,就会造成任务的优先级和执行顺序的问题,这就引发了程序的并行和并发 # 什么是并行? # 并行是任务数小于CPU核心数,一个cpu处理一个任务,几个任务之间是真正一起执行的 # 什么是并发? # 并发是任务书多于cpu核心数,所有的任务没有办法同时执行, # 通过操作系统的任务调度来让程序在多个任务之间相互切换,由于切换的速度很快,看起来像是多个任务一起执行,造成了程序的并发 # 多进程 # 什么是多进程? # 首先明白什么叫进程,我们的一个python文件,比如test.py,还一个程序文件, # 如果用python来运行这个文件,这个程序运行起来的代码+用到的资源 称进程,他是操作系统分配任务的基本单元 # 多线程 # 什么是线程? # 线程是进程的实体,是cpu调度和分派任务的基本的单位,他是比进程更小的能独立运行的基本单位 # 线程本身在运行时仅占很小的资源(程序寄存器,栈),和其他统一进程的线程共享资源 # 进程和线程的关系? # 进程->流水线;线程->流水线上的工人 # 1.一个进程至少拥有一个线程 # 2.线程划分粒度比进程更小,使得多线程的并发程度高 # 3.进程在执行过程中拥有独立的内存单元,线程则是共享内存,极大提高了资源的利用效率和程序运行效率 # 4.线程的执行开销小,但是不利于资源的管理和保护,进程相反 # 协程 # 迭代器->生成器协程generator # yield # 比线程利用更小的执行单元,自带cpu执行的上下文,协程之间可以在同一个线程内相互切换 # 类比:流水线上的员工(线程)->在空闲时做其他任务配合(协成)
进程基础概念
最新推荐文章于 2024-04-29 14:12:09 发布