python 多线程笔记(3)-- 线程的私有命名空间_weixin_34315189的博客-程序员秘密

技术标签: python  

线程的私有命名空间实现:

  threading_namespace = threading.local()

 

复制代码
import threading
import time
import random


threading_namespace = threading.local() # 命名空间

def print_country():
    thread_name = threading.current_thread().getName()
    country = threading_namespace.country      # 获取变量
    print('{}  {}'.format(thread_name, country))

def my_func(country):
    threading_namespace.country = country  # 设置变量
    
    for i in range(4):
        time.sleep(random.randrange(1,7))
        print_country()

        
if __name__ == '__main__':
    
    countries = ['America','China','Jappen','Russia']
    
    threads = []
    for country in countries:
        threads.append(threading.Thread(target= my_func, args=(country,)))

    for t in threads:
        t.start()
        
    for t in threads:
        t.join()
复制代码

 

语句

  threading_namespace = threading.local()

相当于给每个线程定义了各自的命名空间

 

函数 print_country() 内部对变量 country 进行了操作。

1. 如果不用 threading.local(),那么就需要给它传入一个参数 country,不同的线程参数值不一样!

2. 使用 threading.local() 的好处是对函数 print_country() 不需要传参,直接从命名空间 threading_namespace 去获取变量:country

 

本文转自罗兵博客园博客,原文链接:http://www.cnblogs.com/hhh5460/p/5178420.html ,如需转载请自行联系原作者
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34315189/article/details/90101531

智能推荐

SpringBoot+redis+thymeleaf+MyBatis+LayUI+极验滑动验证码。整合开发_springboot redis 滑动条_小小之植物的博客-程序员秘密

项目地址:https://gitee.com/duxiaod/springboot_layui# spring_layui 0.1数据库文件在db目录下## 介绍基础基础架构整合。页面使用了layui,验证码:极验滑动验证码## 项目特点1. 基于SpringBoot+redis+thymeleaf+MyBatis+LayUI+极验滑动验证码## 项目截图...

design first 或者coding first_weixin_33716154的博客-程序员秘密

2019独角兽企业重金招聘Python工程师标准>>> ...

运维的日常工作、开发平台及工具_abp41890的博客-程序员秘密

业务运维工程师的日常工作包括:1、监控线上的服务质量2、响应异常/处理突发故障3、在线发布/升级产品和相应产品线的研发和测试协调处理产品问题4、基于工作中的问题和数据分析进行抽取,将运维经验理念落地沉淀为方法论/工具/系统/平台,并制定相关的改进计划,在各个技术方向上落地实现,最终反馈回运维工作中,提高运维本身的效率和产品的价值。运维工程师使用的运维平台和工具包括:...

前端一个参数传递多个值,后台 mabatisplus xml中使用in 模糊匹配_fortunate_xiaowu的博客-程序员秘密

需求:页面选择年度数据,支持多选:如前端传值(前端将这个数组toString了)也就是传递到后台的是一个字符串后台模糊查询的时候,既要查询2021-2022的数据,也要查询2022-2023的数据,那in匹配的时候我的处理如下:controller:由于需求变更,之前是年度只选一个,所以实体类字段定义的是String类型的,后来改成可以多选,我就在实体类中多加了一个字段,类型是List,前端传值的时候还是给String的属性赋值的,所以在controller层要判断前端有没有选年度这个条件,

Vue中v-model表单绑定几种实现方式_bugsayend的博客-程序员秘密

一.单个复选框checkbox单个复选框对应v-model绑定的数据类型为bool值类型,即选中后v-model绑定的值被修改成true,否则为false,因为只有两种状态,选中和不选中,废话不多说,直接上代码:<!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewpot" content="width=de

百度全功能AI开发平台BML自动超参搜索技术全面解析_百度智能云的博客-程序员秘密

在人工智能领域,算法工程师在训练神经网络模型的过程中,完成网络构建和准备好训练数据后,往往需要对模型进行各种参数优化,以获得更好的模型效果。但调参其实并不简单,背后往往是通宵达旦的参数...

随便推点

链表专题总结_傅里叶不想变换_的博客-程序员秘密

链表专题从尾到头打印链表从尾到头打印链表import java.util.ArrayList;import java.util.ArrayDeque;public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayDeque<ListNode> stack= new ArrayDeque<>();

Codeforces 876E:2-SAT 或者 瞎搞_calabash_boy的博客-程序员秘密

题意:给出N个字符串,每个字符用整数来代表,规定一个字符可以有大小写,设小写为1,大写为1‘,并且字典序表示为:1’题解:正解是2-SAT。。。。我要讲一个怪算法。。。首先有一个不完整的思路是:正着扫一遍,要保证第i个字符串但是这样有问题,后面有一些字符变成大写了之后,可能前边的字典序就保证不了了,那么显然 另外一个不完整的思路就是:反着再扫一次。但

iqoo手机可以刷鸿蒙系统吗,华为老机型可以更新鸿蒙系统么-华为哪些老机型支持鸿蒙系统..._谈国平的博客-程序员秘密

目前由于华为鸿蒙系统发布的火爆,导致花粉俱乐部直接崩溃 ,那么鸿蒙系统除了支持当下的旗舰机外,还支持老机型么,小编就为大家 带来了相关说明。华为老机型可以更新鸿蒙系统么可以据小编得到的消息,鸿蒙系统将会支持百万老机型 更新,不要错过了。华为哪些老机型支持鸿蒙系统2021 年 Q4 将升级荣耀 30 Pro、荣耀 30 Pro+、荣耀 V30、荣耀 V30 PRO、荣耀 30、荣耀 30S、荣耀 V...

selenium+python 更改默认请求头user-agent_selenium 默认请求头_zaixiahanli的博客-程序员秘密

selenium可调用firefox chrome phantomjs等各种浏览器(然而对于有界面的浏览器,还是ubuntu14.04原版自带的firefox支持最好)有时候需要更改请求头比如做爬虫 要爬手机版的页面 就要将其user-agent改成android的from selenium.webdriver.common.desired_capabilities import

JMeter压力测试案例大全之(jmeter和数据库测试)_a574258039的博客-程序员秘密

最近在做这个,所以写了入门级的技术文档。我会用2篇博客来完成下面目录。目录1.jmeter安装2.数据库的压力测试3. ftp服务器的压力测试4. sftp的压力测试5.http请求的压力测试6. socket的压力测试7.邮件服务器测试 7.1基于命令行 7.2基于界面 8.测试tomcat

CentOS 5.8搭建日志管理服务器(syslog-ng+logzilla)_weixin_33916256的博客-程序员秘密

。哈哈。已经搭建成功,本想自己写,不过这篇博文非常的不错,在此感谢作者无私的奉献精神,五、安装前的准备工作1. 关闭SELinux查看SELinux的状态getenforce如果是开启状态,则vi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted...

推荐文章

热门文章

相关标签