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

threading.local()的实例化机制

threading.local() 的实例化机制

  • threading.local() 是全局实例化一次的:

    • 它在模块/类/函数级别(通常在 __init__ 或全局作用域)创建一个单一的 local 对象实例(类型为 _thread._local)。

    • 这个对象本身是共享的(所有线程看到同一个 ID),但内部实现了一个线程本地存储(TLS)代理:当每个线程首次访问它时,会动态为该线程创建一个独立的“本地字典”(基于线程 ID 隔离),后续访问复用这个本地字典。

  • 示例

    #! /usr/bin/env python
    # -*- coding: utf-8 -*-import time
    import threading
    import concurrent.futureslocal_storage = threading.local()  # 全局实例化,然后每个线程中使用或存储时,使用的是线程键def task_local(task_id):thread = threading.current_thread()if not hasattr(local_storage, 'counter_local'):local_storage.counter_local = 0print(f"{thread.name}  新线程:counter_local 初始化为 0")else:local_storage.counter_local += 1print(f"{thread.name}  复用线程:counter_local 现在是 {local_storage.counter_local}")time.sleep(0.1)return f"local 方法 - 任务 {task_id} 完成,counter_local={local_storage.counter_local}"with concurrent.futures.ThreadPoolExecutor(max_workers=2) as executor:futures_local = [executor.submit(task_local, i) for i in range(4)]for future in concurrent.futures.as_completed(futures_local):print(future.result())
  • 输出

    ThreadPoolExecutor-0_0  新线程:counter_local 初始化为 0
    ThreadPoolExecutor-0_1  新线程:counter_local 初始化为 0
    ThreadPoolExecutor-0_0  复用线程:counter_local 现在是 1
    ThreadPoolExecutor-0_1  复用线程:counter_local 现在是 1
    local 方法 - 任务 0 完成,counter_local=0
    local 方法 - 任务 1 完成,counter_local=0
    local 方法 - 任务 3 完成,counter_local=1
    local 方法 - 任务 2 完成,counter_local=1

     

http://www.hn-smt.com/news/41707/

相关文章:

  • Tarjan复建
  • 采用git进行项目管理
  • 20232307 2024-2025-1 《网络与系统攻防技术》实验五实验报告
  • AzuraCast:自托管一体化网络电台管理套件
  • 2025 最新无缝钢管厂家推荐榜:国际测评认证 + 技术创新 + 全场景适配权威指南大口径无缝钢管/16Mn 无缝钢管/定制无缝钢管/厚壁无缝钢管公司推荐
  • MX Round 24 解题报告
  • Convex
  • 11.15模拟赛
  • 天津雅思培训机构排名2025,无老师国际/新通教育等优质机构,师资/口碑/提分率大PK
  • Rust RefCell 多线程读为什么也panic了?
  • 关于样式
  • 二维固定一维+划分 4 个象限——P12617 [RMI 2023] Circles
  • 2025年雅思培训机构哪家强?1V1定制/封闭班/机考押题班/集训营高提分机构推荐
  • 2025年跨境电商ERP系统权威推荐:赛狐ERP系统适配多平台、多站点智能化管理,跨境电商卖家首选
  • 20251115 - CAN协议层梳理【不含电气特性介绍】
  • 2025 年 11 月山东实验室净化装修,山东实验室净化工程,山东实验室净化车间最新推荐,聚焦资质、案例、售后的五家机构深度解读!
  • 2025年潜水泵优质厂家权威推荐榜单:小型抽水泵/深井潜水泵/电动水泵源头厂家精选
  • load_balance函数代码详解
  • 2025年专业机构检测制造厂权威推荐榜单:学校实验仪器检验/实验室通用仪器检测/仪器检定检测服务机构精选
  • Why blog today
  • 2025年11月国内画册设计企业权威推荐榜单及选择指南
  • 免费AI论文写作工具推荐TOP6:高效生成+低查重率必备神器
  • 2025年靠谱的山体边坡防护网实力厂家TOP推荐榜
  • 2025年知名的离子风机测试仪TOP品牌厂家排行榜
  • 2025年比较好的电动伸缩门厂家推荐及选购指南
  • 提高删除文件速度的多种方法
  • 2025年pp改性塑料软管定制厂家权威推荐榜单:pp改性塑料性质/改性塑料pp/pp塑料熔指改性源头厂家精选
  • 2025年评价高的神州飞碟游乐设施厂家推荐及选择参考
  • 题解:P8648 [蓝桥杯 2017 省 A] 油漆面积
  • 2025年质量好的不锈钢大单槽用户口碑最好的厂家榜