我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python3进程和线程

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python3进程和线程

进程基本概念

  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

python3进程和线程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python3进程和线程

进程基本概念进程是执行中的程序, 也就是说进程是动态的, 程序是静态的进程是操作系统分配资源的最小单位,有一个进程控制块(PCB), 有自己唯一的一个进程标识符(PID)进程之间相互独立, 内存不共享每个进程都是一个实体, 每个进程都有属于
2023-01-31

python3--进程,线程,协程效率对比

需求:写一个脚本,判断192.168.11.0/24网络里,当前在线ip有哪些?知识点:1 使用subprocess模块,来调用系统命令,执行ping 192.168.11.xxx 命令2 调用系统命令执行ping命令的时候,会有返回值(p
2023-01-30

Python3 异步编程之进程与线程-1

Python3 异步编程之进程与线程-1一、了解进程间通信进程间通信进程线程线程 vs 进程IO模型并发 vs 并行异步 vs 同步二、多线程与多进程的用法计算密集型 vs I/O密集型GIL多线程多进程三、协程的好处与用法协程yieldy
2023-01-31

python3--进程

进程顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的一操作系统的作用:1:
2023-01-30

Python3 多线程

两个概念:并发:假同时,一段时间内同时处理多个任务,单核都可以;并行:真同时,同时处理多个任务,必须多核。主流操作系统上完成并发的手段有进程和线程,主流的编程语言提供了用户空间的调度:协程。Python 也不例外。(想自学习编程的小伙伴请搜
2023-01-31

python3 多线程编程

0.什么是线程多线程模块创建线程的方法join()方法4.isAlive()方法name属性和daemon属性6.线程的同步---锁7.线程的同步---Event对象8.线程的同步---Condition条件变量0.什么是线程线程是CPU分
2023-01-31

python3 进程锁

多进程抢占资源当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱问题。import osimport timeimport randomfrom multiprocessing import Process,Lockdef wo
2023-01-31

python3 - 多线程 - thre

目录一、threading 模块:对线程的处理二、Thread组件2-1 开启线程的方式一(函数)2-2 开启线程的方式二 (类)2-3 Thread 相关内置子方法 2-4 主进程等待新建线程实例2-5 线程共用创造进程内资源2-7 查看
2023-01-31

线程、进程、协程和GIL(三)

上一篇文章介绍了:创建线程的两种方式、Event对象判断线程是否启动、利用信号量控制线程并发。博客链接:线程、进程、协程和GIL(二)这一篇来说说线程间通信的那些事儿:   一个线程向另一个线程发送数据最安全的方式就是使用queue库中的队
2023-01-30

详解Android进程和线程

写在前面的话 一个Android应用就是一个Linux进程,每个应用在各自的进程中运行,互不干扰,比较安全。 一个应用对应一个主线程,就是通常所说的UI线程,android遵守的就是单线程模型,所以说Ui操作不是线程安全的并且这些操作必须在
2022-06-06

Android 进程和线程详解

当启动一个应用程序组件时,如果该应用没有正在运行的其它程序组件,那么Android系统将为这个应用创建一个新进程(包含一个线程)用于运行应用。缺省情况下,一个应用的所有组件(Activity,Service等)运行在同一个进程和线程中(称为
2022-06-06

Android 进程和线程模型

Android进程模型在安装Android应用程序的时候,Android会为每个程序分配一个Linux用户ID,并设置相应的权限,这样其它应用程序不能访问此应用程序所拥有的数据和资源了。在 Linux 中,一个用户ID 识别一个给定用户;在
2022-06-06

用python3的多进程和协程处理MyS

本文介绍用python3的多进程 + 协程处理MySQL的数据,主要逻辑是拉取MySQL的数据,然后使用flashtext匹配关键字,在存回MySQL,代码如下(async_mysql.py):import timeimport async
2023-01-31

python线程、进程和协程详解

引言解释器环境:python3.5.1我们都知道python网络编程的两大必学模块socket和socketserver,其中的socketserver是一个支持IO多路复用和多线程、多进程的模块。一般我们在socketserver服务端代
2022-06-04

Python3 多线程讲解

前言Python3 线程中常用的两个模块为•_thread•threading(推荐使用)thread 模块已被废弃。用户可以使用 threading 模块代替。所以,在 Python3 中不能再使用”thread” 模块。为了兼容性,Py
2023-01-31

python3--threading模块(线程)

上章节内容总结:队列 队列:先进先出,数据进程安全 管道+锁 可实现队列 生产者消费者模型:解决数据供需不平衡管道 双向通信 数据进程不安全 EOFError: 管道是由操作系统进行引用计数的 必须在所有进程中
2023-01-30

python socket多线程和多进程

在socket中,如果直接创建的话,是只能接受一个用户的请求需要实现socketserver中的handle方法,可以实现多进程并发访问SocketServer内部使用 IO多路复用 以及 “多线程” 和 “多进程” ,从而实现并发处理多个
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录