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

Python的进程和线程

ref

接受几个设定:

进程是一家almost密不透风的公司,缅甸KK园区
线程里面工作的…人

进程**[园区]**内公共资源对于进程来说,可以共享.

别的园区[进程],一般不能和自己的园区共享人员资源,除非…

好的,现在再接受设定:

  1. 单个CPU任一时刻只能执行单个线程,只有多核CPU还能真正做到多个线程同时运行
  2. 一个进程包含多个线程,这些线程可以分布在多个CPU上
  3. 多核CPU同时运行的线程可以属于单个进程或不同进程
    所以,在大多数编程语言中因为切换消耗的资源更少,多线程比多进程效率更高

也就是说,如果我是多核的,一个进程是可以同时允许多个线程一起执行的.
但是python呢?
不行
有个GIL锁,保证数据安全,它规定了:
在一个进程中每次只能有一个线程在运行

那线程之间如何协同共同的资源?

线程同步

同步表示一种协同办事
同步的实现方式有很多种:

  1. 使用锁的线程同步
  2. 使用Rlock的线程同步
  3. 使用信号量的线程同步
  4. 使用条件的线程同步
    (1)在这里插入图片描述
    (2)上图;wait放锁,notify通知大家竞价

5.使用事件的线程同步
6.使用屏障的线程同步
7.使用队列的线程同步
ref
fncnn

在这里插入图片描述

http://www.lryc.cn/news/525618.html

相关文章:

  • 【Mysql】记录锁、间隙锁和临键锁的区别
  • 神经网络|(二)sigmoid神经元函数
  • w-form-select.vue(自定义下拉框组件)(与后端字段直接相关性)
  • 【JVM】垃圾收集器详解
  • python创建一个httpServer网页上传文件到httpServer
  • 【Maui】提示消息的扩展
  • 租车骑绿岛
  • Pytorch - YOLOv11自定义资料训练
  • 微服务与docker
  • 1.23 消息队列
  • 【华为路由的arp配置】
  • 绘制决策树的尝试1
  • 概率论里的特征函数,如何用卷积定理去理解
  • Spring 是如何解决循环依赖问题
  • Linux 目录操作详解
  • Elasticsearch的经典面试题及详细解答
  • Linux-arm(1)ATF启动流程
  • C#编程:List.ForEach与foreach循环的深度对比
  • C语言文件操作:标准库与系统调用实践
  • 代码随想录 栈与队列 test 7
  • C语言练习(21)
  • 智能手机“混战”2025:谁将倒下而谁又将突围?
  • 计算机图形学:实验一 OpenGL基本绘制
  • 二分查找题目:快照数组
  • 深度学习|表示学习|卷积神经网络|参数共享是什么?|07
  • 基于相机内参推导的透视投影矩阵
  • 浅析Dubbo 原理:架构、通信与调用流程
  • 03垃圾回收篇(D3_垃圾收集器的选择及相关参数)
  • 一、引论,《组合数学(第4版)》卢开澄 卢华明
  • Vue3+TS 实现批量拖拽文件夹上传图片组件封装