Python-多线程编程

案例:        开启  5  个线程,每个线程中都获取一个随机数,输出5个随机数的总和  回顾进程和线程        一个进程中默认会产生一个主线程,  除此之外,还可以人为开启并启动额外线程,  有以下特点:                1、不干预的情况下,各个线程的执行过程都互不影响,

#基础   #多线程   #Python   #数据安全  

Python协程-async原生协程

本篇紧接上篇博文,建议先阅读  Python协程-基于生成器的协程原生协程  async/await        在上一篇中,我们学习了  “基于生成器的协程”,        我们创建  Future  用来储存结果数据,创建了  Task,用来推进生成器(协程任务)进行:           

#协程   #原生协程   #async   #await   #asyncio   #Python  

Python协程-基于生成器的协程

本篇紧接上篇  协程原理-IO多路复用什么是协程        在上篇中,我们已经学习了协程的原理-IO多路复用,即将程序分割成多个模块,通过  操作系统的事件驱动  来监控模块        的可执行状态,当某个模块变为可执行状态时(相关事件发生),  则执行该模块,如:             

#协程   #基于生成器的协程   #Python   #生成器  

Python协程原理-IO多路复用

参考:  IO多路复用        多路复用是在单线程下的一种高效io模型,  多路指的是多个io操作,复用  指的是  “复用线程"。####  io  操作        以  io操作  read  举例,参与操作的对象有两个,调用操作的线程  和  系统内核,  操作分为两个阶段

#epoll   #poll   #io多路复用   #非阻塞   #select  

CPython的GIL

    GIL,  全称:  Global  Interpreter  Lock  (全局解释器锁),  是解释器采用的一种机制,        它的作用是:确保同一时刻只有一个线程在执行。回顾  操作系统、CPU、线程的关系        线程包含需要  CPU  执行的指令集合,线程需要参加  

#多线程   #并发   #GIL   #全局解释器锁   #Python  

Python函数参数传递方式

    Python  函数参数传递方式并不像其他语言那样是  指针/引用  和  值传递,  而是  对象引用传递,        本质上是  “引用传递”,  可以说  python  中不存在  值传递,而是存在  “不可变对象”容易误判的操作        容易被误认为是  引用传递  的操

#基础   #Python