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

第 11 课 Python 多线程

1. 进程与线程

        进程就是程序执行的载体,我们打开的每个软件、游戏,执行的每一个Python脚本都是启动一个进程。
        线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位。例如车间的生产是一个进程,那每个流水线就是它的一个线程。
        线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。
        进程提供线程执行程序的前置要求,线程在重组的资源配备下,去执行程序。Python3线程中常用的两个模块是“_thread”和“threading”(推荐使用)。
        thread模块已被废弃。用户可以使用threading模块代替。所以,在Python3中不能再使用“thread”模块。为了兼容性,Python3将thread重命名为“_thread”。

2. 线程对象Thread

class threading.Thread(group=None,target=None,name=None,args=(),kwargs={})
  1. group: 应该为None,为了日后扩展ThreadGroup类实现而保留
  2. target: 是用于run()方法调用的课调用对象,默认是None,表示不需要调用任何方法
  3. name:线程名称,默认情况下,由"Thread-N"格式构成一个唯一的名称,其中N是小的十进制数。
  4. args:用于调用目标函数的参数元组,默认是()
  5. kwargs:用于调用目标函数的关键字参数字典,默认是{}

3. Thread类的方法

join

       阻塞直到线程执行结束。这会阻塞调用这个方法的线程,直到被调用join的线程终结-不管是正常终结还是抛出未处理异常-或者直到发生超时,超时选项是可选的。

       一定要在join()后调用is_alive()才能判断是否发生超时-如果线程仍然存


http://www.kler.cn/a/533072.html

相关文章:

  • AJAX笔记进阶篇
  • CSS 值和单位详解:从基础到实战
  • [吾爱出品]CursorWorkshop V6.33 专业鼠标光标制作工具-简体中文汉化绿色版
  • 2025_2_4 C语言中关于free函数及悬空指针,链表的一级指针和二级指指针
  • Math数字类
  • OPENGLPG第九版学习 - 着色器基础
  • idea中git的简单使用
  • 基于RK3588/RK3576+MCU STM32+AI的储能电站电池簇管理系统设计与实现
  • OpenAI的第二个AI Agent:Deep Research完全解读!
  • CTFSHOW-WEB入门-命令执行71-77
  • 【C++】STL——vector底层实现
  • 如何构建ObjC语言编译环境?构建无比简洁的clang编译ObjC环境?Windows搭建Swift语言编译环境?
  • MYSQL面试题总结(题目来源JavaGuide)
  • 【MySQL】MySQL经典面试题深度解析
  • 【归属地】批量号码归属地查询按城市高速的分流,基于WPF的解决方案
  • 面试经典150题——栈
  • 基于Flask的全国星巴克门店可视化分析系统的设计与实现
  • 70、训练yolov11-pose关键点训练、部署TensorRTNCNN部署昇腾310I Duo卡
  • 深入浅出:旋转变位编码(RoPE)在现代大语言模型中的应用
  • springboot启动配置文件-bootstrap.yml常用基本配置
  • 【DeepSeek背后的技术】系列二:大模型知识蒸馏(Knowledge Distillation)
  • python recv的概念和使用案例
  • 2025职业发展规划
  • Webots仿真添加行人的走路模型,并且添加自定义ROS接口。
  • ES6-代码编程风格(数组、函数)
  • 2. K8S集群架构及主机准备