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

Python 中的线程模块

Python 中的线程模块

  • Python 中的线程模块

Python 中的线程模块

thread 模块是一个标准模块,提供了简单易用的方法为程序构建多线程。在幕后,该模块使用较低级的 _thread 模块,在 Python 早期版本中,该模块是多线程的流行选择。

创建线程时,先创建一个 Thread 类的对象,它可以接受一个函数作为 target 属性,传递给这个函数的参数作为 args 属性。线程可以被赋予一个名称,这个名称可以在创建线程时使用 name 参数设置。

在创建 Thread 类的对象后,我们需要使用 start 方法启动线程。为了让主程序或线程等待新创建的线程运行结束,我们需要使用 join 方法。join 方法确保主线程(调用者线程)等待被在其上调用 join 方法的线程执行完毕。

接下来,我们会在下面的代码中,创建三个线程,以演示如何建线程,启动它,并且等待它执行完毕。

from  threading import Thread, current_thread
from time import sleep

def print_hello():
    sleep(2)
    print("{}: Hello".format(current_thread().name))


def print_message(msg):
    sleep(3)
    print("{}: {}".format(current_thread().name, msg))

#创建线程
t1 = Thread(target=print_hello, name="线程 1")
t2 = Thread(target=print_hello, name="线程 2")
t3 = Thread(target=print_message, name="线程 3", args=["这是一个消息"])

#启动线程
t1.start()
t2.start()
t3.start()

#等待所有线程运行完毕

t1.join()
t2.join()
t3.join()

上面代码的输出结果是:

线程 1: Hello
线程 2: Hello
线程 3: 这是一个消息

<完>

http://www.dtcms.com/a/45149.html

相关文章:

  • esp32串口通信
  • TeX Live 2025 最新版安装与中文环境配置全教程(Windows/Mac/Linux)
  • 25物理学研究生复试面试问题汇总 物理学专业知识问题很全! 物理学复试全流程攻略 物理学考研复试调剂真题汇总
  • Deepseek R1 技术报告
  • 2024 通用人工智能RAG大会实践资料(脱敏)PPT合集(22份)
  • 【洛谷贪心算法】P1090合并果子
  • preg_replace 与 str_replace 的比较与选择
  • 基于Ant Design Vue 引入 Flowable 【workflow-bpmn-modeler-antdv】流程设计器组件
  • 【Java项目】基于SpringBoot和Vue的“智慧食堂”系统
  • 2025文学研究生复试面试问题汇总 文学专业知识问题很全! 文学试全流程攻略 文学考研复试调剂真题汇总
  • Spring Boot集成Spring Ai框架【详解 搭建Spring Ai项目,以及简单的ai大模型智能体应用,附有图文+示例代码】
  • C# 数据转换
  • UniApp 按钮组件 open-type 属性详解:功能、场景与平台差异
  • c#实现modbus rtu定时采集数据
  • Spring AI:让AI应用开发更简单
  • JavaScript系列03-异步编程全解析
  • 【Markdown 语法简洁讲解】
  • OpenHarmony启动系统-U-Boot简介和源码下载与编译
  • CMU15445(2023fall) Project #4 - Concurrency Control踩坑历程
  • Spring Boot 日志配置与常见问题解析(详解)
  • 【PHP脚本语言详解】为什么直接访问PHP文件会显示空白?从错误示例到正确执行!
  • mysql内置工具导入csv包,简单便捷高效
  • 蓝桥杯C语言组:基于蓝桥杯煤球数目问题的数列累加解决方案研究
  • 基于springboot的高校物品捐赠系统
  • C++ Qt OpenGL渲染FFmpeg解码后的视频
  • Vue+Elementui 全局配置el-table表格列宽可拖拽
  • 如何快速的解除oracle dataguard
  • python项目依赖哪些whl
  • Pwntools 的详细介绍、安装指南、配置说明
  • Unity Burst编译