Python并发编程基础概念

发布时间:2024年01月21日

Python并发编程基础概念

目录
进程和程序
同步和一步
阻塞和非阻塞
并发、并行和串行

进程和程序:

  • 程序是一组指令和数据的集合,以特定的编程语言编写,用于实现特定的功能。
  • 进程是正在运行的程序的实例。它是计算机分配资源的基本单位,具有自己的内存空间、程序计数器、寄存器和栈等。例如任务管理器中的程序都是进程。

一个程序可以通过创建进程来在计算机上执行。每个进程都是相互独立的,拥有自己的执行环境和资源。操作系统负责管理进程的创建、调度和终止,并为每个进程分配适当的资源,如内存和 CPU 时间片。

同步和异步:

  • 同步操作指的是在执行一个操作时,必须等待该操作完成后才能继续执行后续代码。

image-20240121164300570

  • 异步操作指的是可以在操作执行的同时进行其他任务,无需等待操作完成。

image-20240121164455456

在同步操作中,调用者会一直等待被调用的函数返回结果。

而在异步操作中,调用者可以继续执行其他任务,通过回调函数或事件处理机制获取异步操作的结果。

阻塞和非阻塞:

  • 阻塞是指在执行一个操作时,调用者被挂起并等待操作完成后才能继续执行后续代码。
  • 非阻塞是指在执行一个操作时,调用者不会被挂起,可以立即返回并继续执行后续代码。

在阻塞操作中,调用者会一直等待被调用的函数返回结果,期间无法执行其他任务。而在非阻塞操作中,调用者可以立即返回,并通过轮询或回调等方式查询操作的状态或结果。

并发、并行和串行:

  • 并发指的是多个任务在同一时间段内交替执行,共享系统资源。
  • 并行指的是多个任务同时进行,每个任务在独立的处理器核心上执行。
  • 串行指的是按照严格的顺序依次执行任务,一个任务完成后再执行下一个任务。

并发和并行都涉及多个任务的执行,但并发是指任务可以交替执行,共享系统资源,而并行是指任务同时进行,每个任务在独立的处理器核心上执行。串行则是按照严格的顺序依次执行任务。

image-20240121171756160

文章来源:https://blog.csdn.net/AZURE060606/article/details/135732136
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。