python获取线程名称和传递参数,数据共享

 1.获取线程名称和传递参数

import threading
import timedef run(i):print('开启线程',i,threading.current_thread().name)# 等待2秒time.sleep(2)# 创建线程并起名,传递参数,这个位置使用和进程一样
thr1 = threading.Thread(target=run,args=(1,),name='lucky-1')
thr2 = threading.Thread(target=run,args=(2,),name='lucky-2')
# print(thr)
thr1.start()
thr2.start()
thr1.join()
thr2.join()
print('开启线程',threading.current_thread().name)
print('over')'''
每个进程会有一个默认的主线程
在每个进程内开启的线程为子线程
MainThread
'''

运行结果:

开启线程 1 lucky-1
开启线程 2 lucky-2
开启线程 MainThread
over

2.数据共享

import threadingname = 'longfei'def run():age = 18# 声名name是全局变量global namename = '赵露思'print(f'我叫{name},今年{age}岁!')thr = threading.Thread(target=run)
thr.start()
thr.join()
print('我是外部获取数据',name)
print("over")

运行结果:

我叫赵露思,今年18岁!
我是外部获取数据 赵露思
over

3.线程数据共享2

import threading
import timename = 'longfei'def run():age = 18# 阻塞,等待2秒time.sleep(2)# 声名name是全局变量global namename = '赵露思'print(f'我叫{name},今年{age}岁!',threading.current_thread().name)def run1():age = 18# # 声名name是全局变量# global name# name = '赵露思'print(f'我叫{name},今年{age}岁!',threading.current_thread().name)thr1 = threading.Thread(target=run,name='线程1')
thr2 = threading.Thread(target=run1,name='线程2')
thr1.start()
thr2.start()
thr1.join()
thr2.join()
print('我是外部获取数据',name)
print("over")

运行结果:

我叫longfei,今年18岁! 线程2
我叫赵露思,今年18岁! 线程1
我是外部获取数据 赵露思
over

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/635108.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker技巧汇总

Docker技巧汇总 前言使用流程安装配置镜像管理创建并运行容器使用容器/常用命令导出和导入查看元数据挂载数据卷端口映射/转发VS Code连接Docker 前言 Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xf…

Kubernetes-v1.28.3部署

二进制安装Kubernetes(k8s)v1.28.3 1.环境 主机名称IP地址说明软件192.168.1.60外网节点下载各种所需安装包Master0111.0.1.3master节点kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client、haproxy、k…

django 中group by 以及sum count

原生SQL SELECT order_id,city,locality,login_time,sum(morning_hours),sum(afternoon_hours),sum(evening_hours),sum(total_hours) FROM orders GROUPBY order_id,city,locality,login_timegroup by … sum from django.db.models import SumYour_Model.objects.values(…

AI相关资料

文心一格收费,有免费额度 通义万相_AI创意作画_AI绘画_人工智能-阿里云 AI AIchatOS

254:vue+openlayers 加载HERE多种形式地图(v3软件版本)

第254个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中添加HERE地图(v3版本的软件),并且含多种的表现形式。包括地图类型,文字标记的设置、语言的选择、PPI的设定。 v3版本和v2版本有很大的区别,关键是引用方法上,请参考文章尾部的API链接。 直接复制…

C 语言->编译和链接实现原理

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 今天学习:浅学编译和链接内部实现原理 前提:本文是在gcc编译环…

SpringBoot连接远程服务器redis

SpringBoot连接远程服务器redis 1、指定redis配置启动 进入redis安装地址,我这里安装的是 /usr/local/src/redis-6.2.6 先copy一份配置文件 cp redis.conf redis.conf.bck然后修改配置文件信息 vim redis.conf bind 0.0.0.0 # 守护进程,修改为yes后即可…

最优解-背包问题

问题描述 给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。 基本思路 目标是书包内物品的总价值,而变量是物品和书包的限重,所以我们可定义状态dp…

Verilog基础:强度建模(一)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 一、强度建模基础 Verilog HDL提供了针对线网信号0、1、x、z的精准强度建模方式,这样可以允许将两个线网信号进行线与操作从而更加精确地描述出硬件行…

ACEeditor使用手册(三)

文章目录 ACEeditor使用手册5. 与后端交互5.1 保存与加载文件通过AJAX保存与加载文件与后端框架的集成文件状态同步与冲突解决 5.2 协同编辑与实时同步协同编辑的实现原理WebSocket与实时同步技术协同编辑冲突解决策略 6. ACEeditor常见问题与解决方案6.1 编辑器兼容性问题浏览…

接口的返回值中所需信息作为其他接口入参使用(postman与jmeter的使用)

一、背景: 偶尔会用到一个场景,两个接口之前的调用有依赖关系,将其中一个的返回参数中的部分信息取出来作为入参在第二个接口中使用,代码内是比较好实现,只要定义一个变量,用于参数传递。 如果是测试过程中…

idea带的maven在SpringBoot下载jar包出错

找到idea安装目录 /IntelliJ IDEA/plugins/maven/lib/maven3/conf/settings.xml 搜索:mirrors 添加到mirrors标签里 <mirrors><mirror><id>central</id><mirrorOf>central</mirrorOf><url>https://maven.aliyun.com/repository/publ…

令牌桶算法与Guava的实现RateLimiter源码分析

令牌桶算法与Guava的实现RateLimiter源码分析 令牌桶RateLimiter简介RateLimiter使用示例导入maven依赖编写测试代码 RateLimiter的实现源码解析SmoothRateLimiterSmoothBursty恒速获取令牌acquire(int)tryAcquire(int,long,TimeUnit) 存量桶系数小结 优缺点与漏桶的区别总结 令…

Ontrack EasyRecovery2024恢复软件最新版本有哪些新功能特色?

Ontrack EasyRecovery 16是由Ontrack官方最新出品的一款全面的自助数据恢复软件&#xff0c;中文名称叫做&#xff1a;易恢复。它能够轻松恢复所有的文件类型&#xff0c;包括文档、表格、图片、音视频和其他文件等&#xff0c;支持恢复不同存储介质数据&#xff1a;硬盘、光盘…

关于C#中的LINQ的延迟执行

简介 Linq中的绝大多数查询运算符都有延迟执行的特性,查询并不是在查询创建的时候执行,而是在遍历的时候执行 实例&#xff1a; public void Test2(){List<int> items new List<int>() { -1, 1, 3, 5 };IEnumerable<int> items2 items.Where(x > x &g…

java数据结构与算法刷题-----LeetCode209. 长度最小的子数组

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 解题思路 代码:时间复杂度O(n).空间复杂度O(1) class Solution {public in…

完美实现校验:利用Spring Validation实现强大的输入验证

概述 校验例子 大家平时编码中经常涉及参数的校验&#xff0c;对于一个用户注册的方法来说会校验用户名密码信息&#xff1a; public class UserController {public ResponseEntity<String> registerUser(String username, String password) {if (username null || u…

Python 之 enumerate

enumerate 是一个内置函数&#xff0c;它允许你在遍历一个序列&#xff08;例如一个列表&#xff09;时&#xff0c;同时获取元素的索引和值。 以下是一个使用 enumerate 的例子&#xff1a; fruits [apple, banana, mango] for i, fruit in enumerate(fruits):print(f"E…

UG NX二次开发(C#)-机械管线布置-添加管道路径

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、前言2、UG NX中创建线性路径的操作3、采用UG NX二次开发创建线性管线3.1 构建管线上点的数据结构3.2 创建一个链表3.3 创建线性管线的方法3.4 测试结果1、前言 机械管道布局是UG NX的一个应用模…

uniapp、vue、小程序、js图片转base64 示例代码

uniapp是一款跨平台的应用开发框架&#xff0c;基于Vue.js和小程序原生能力进行封装&#xff0c;旨在帮助开发者快速构建跨平台的应用程序。在uniapp中&#xff0c;可以使用Vue.js语法进行页面开发&#xff0c;同时通过使用小程序原生能力&#xff0c;可以实现调用设备的摄像头…