当前位置: 首页 > news >正文

Python中的多线程与协程:程序、线程、进程之间的关联关系

程序 Program

程序是是为了完成某种特定任务,用某种特定语言编写的一组指令的集合,简单来说就是我们编写完成的代码。

进程 Process

  1. 进程是值运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间,当我们使用迅雷工具,又启动了一个进程,操作系统将为迅雷分配新的内存空间
  2. 进程是程序的一次执行过过程,或者是正在运行的一个程序,是动态过程:有它自身的产生,存在和消亡的过程
    例如可以查看一下windows中正在运行的任务有哪些,当前正在执行的程序就是进程
    在这里插入图片描述

总结:在一个操作系统中,每个独立执行的程序都可以称为一个进程也就是正在运行的程序

线程thread

  1. 线程是由进程创建的,是进程的一个实体
  2. 一个进程可以拥有多个线程
  3. 单线程:同一个时刻,只允许执行一个线程
  4. 多线程:同一个时刻,可以执行多个线程,例如qq的多个聊天窗口
  5. 并发:同一个时刻,多个任务交替执行,造成一种貌似同时的错觉,简单来说,单核cpu实现的多任务就是并发。例如,一个人在开车的同时打电话,在直播的同时打字
  6. 并行:同一个时刻,多个任务同时执行,多核cpu可以实现并

相关文章:

  • 发布:大彩DN系列3.2寸全视角IPS串口屏发布!
  • MySQL(基础篇)
  • Django 零基础起步:开发你的网站第一步
  • 阿里推出 R1-Omni:将强化学习与可验证奖励(RLVR)应用于全模态大语言模型
  • 如何将 Memfault 固件 SDK 集成到使用 Nordic 的 nRF Connect SDK(NCS)的项目中
  • LlamaIndex基础概念与核心架构
  • Linux中部署Jenkins保姆间教程
  • [mcp-servers] docs | AI客户端-MCP服务器-AI 架构
  • WPF 实现自定义弹窗输入功能
  • 第一章-人工智能概述-深度学习与AI发展(2/36)
  • 星型模式(Star Schema)
  • 代码随想录|图论|05岛屿数量(深搜DFS)
  • 重建与数字子序列匹配的最小数字序列的有效方法
  • element-plus 按钮 展开/隐藏
  • css 颜色与字体
  • Flux.create
  • Mac电脑如何搭建基于java后端的开发的各种工具服务
  • WebSocket 与 HTTP 的区别及 Spring Boot 实战应用
  • FANUC机器人教程:用户坐标系标定及其使用方法
  • Java——注解开发模式下的 Spring IoC/DI 与 Bean 管理实战