threading模块默认没有获取线程返回值的方法。

下面通过重写threading.Tread类来实现:from threading import Thread

import random

import time

class MyThread(Thread):

# 继承Thread类

def __init__(self,group=None, target=None, name=None, args=(), kwargs=None, *, daemin=None):

Thread.__init__(group, target, name, args, kwargs, daemin=None)

self._return_value = None

def run(self):

# 重新定义Thread类里的run方法

try:

if self._target:

self._return_value = self._target(*args, **kwargs) # 把原来的self._target方法返回值赋给self._return_value

finally:

del self._target, self._args, self._kwargs

def join(self, timeout=None):

# 重新定义join方法,等待线程执行完成,返回值

Thread.join(self, timeout) # 调用原类的join方法,原方法中调用Thread类外方法,所以不能直接重写。

return self._return_value # 返回self._return_value,在类外,使用join获取值。

class ReturnValue(object):

# 调用自定义的thread类,获取返回值。

def __init__(self):

self.result = None

def run(self):

thread_list = []

thread_result = {}

for i in range(10)

mythread = MyThread(target=self.show, args=(i,))

thread_list.append(mythread)

mythread.start()

for t in thread_list:

self.result = t.join()

thread_result[t] = self.result

thread_list.remove(t)

for k, v thread_result.items():

print(k,v)

def show(self,i):

rand = random.randint(2,7)

time.sleep(rand)

return "args:{},rand_value:{}".format(i,rand)

return_value = ReturnValue()

return_value.run()

python获取返回值_【Python】python获取线程的返回值相关推荐

  1. python获取cpu温度_如何获得树莓派CPU实时温度值

    [前言] 任何的电子设备在工作过程中必定会产生发热的现象,而不控制好设备的温度的话,很有可能会损坏设备,或者照成设备的性能下降,本文将通过学习如何读取树莓派CPU温度值,方便后期对树莓派做一些相应的控 ...

  2. python获取数组中大于某一阈值的那些索引值_使用Python+OpenCV进行实时车道检测...

    大约十年前,当谷歌还在试验一辆原型车的时候,我想到了自己的第一辆自动驾驶汽车,当时我立刻被这个想法迷住了.不可否认的是,我必须等待一段时间,直到这些概念向社区开放,现在看来等待确实是值得的!我最近试验 ...

  3. python 获取唯一值_从Python列表中获取唯一值

    python 获取唯一值 In this article, we will be understanding 3 ways to get unique values from a Python lis ...

  4. python爬虫登录微博_为爬虫获取登录cookies: 使用Charles和requests模拟微博登录

    上一节,我们讲了如何配置Charles代理,这一节我们通过模拟微博登录这个例子来看看如何使用Charles分析网站加载流程,顺便把微博模拟登录的Python代码也给实现了. 1. 用Charles记录 ...

  5. python获取网卡名称_用Python获取计算机网卡信息

    0. 前言 正常情况下,如果想要查看电脑的网卡IP地址或是MAC地址,直接通过界面找到网卡进行查看就有了,亦或是通过命令如linux的ifconfig得到IP等信息,那么本节教大家如何通过python ...

  6. python证券交易数据接口_实战 | Python获取股票交易数据

    项目介绍 看到标题大家的第一反应估计是怎么用爬虫来获取股票交易数据,要获取股票交易数据确实是需要用爬虫没错,不过还有比使用爬虫更加方便的方式.今天要给大家介绍的是一个专门用来获取国内股票交易数据的开源 ...

  7. python随机生成车牌_使用Python自动化获取全国每个城市的车牌代码

    最近有这样一需求,需要获取12123交管查询网站上的全国每个城市对应的城市id和车牌代码.最初的想法是直接用Python写个爬虫,遍历每个城市,然后用Xpath提取DOM节点数据就好了.然而在实际操作 ...

  8. python request post 数组_[pve][python]用python3获取pve状态信息

    手头的Proxmox VE集群和节点越来越多,需要考虑统一管理了,先定一个小目标--集中状态监控. 以前写过检测ceph并用钉钉报警的bash脚本,这次换上洋气的方式,用python来通过pve的ap ...

  9. python一个函数调用另一个函数的返回值_在python函数中使用True,False和None作为返回值...

    建议不是你不应该使用True,False或None.这只是你不应该使用如果x == True. 如果x == True是愚蠢的,因为==只是一个二进制运算符!它的返回值为True或False,取决于它 ...

  10. python经纬度获取县名_利用 Python 批量获取县镇运输距离

    起因 最近做规划项目,领导让查出某几个市的所有乡镇级行政区域,距离所在县级行政中心的交通运输距离.想着也不是啥难事儿,高德地图一搜就有. 当我把各市行政区划统计完,发现一共有五百多个乡镇,意味着要在地 ...

最新文章

  1. 初学者自学python要看什么书-初学者如何学习Python?掌握这17个实用小技巧快速入门!...
  2. mysql主从 percona_mysql主从实现(percona-xtrabackup)
  3. Python学习-文件的调用-读取
  4. CenOS 配置C/C++语言
  5. Mysql-环境配置及问题解决
  6. 还在修改博士论文?这份《博士论文写作技巧》为你指南
  7. 重金悬赏丨2019 华为 IoT 开发者大赛喊你加入“群聊”,倾听科技的“声音”!...
  8. java 找到一行 更换单词_Java实现对一行英文进行单词提取功能示例
  9. C语言调用多元函数,遗传算法C语言源代码(一元函数和二元函数)
  10. 官方完整HL7 ECG-XML例子及注释翻译(4)
  11. 37 岁老码农找工作,现身说法...
  12. html 按钮 水波纹,点击按钮出现水波纹动画
  13. python怎么发送post_python发送post的方法
  14. 动态规划——宠物小精灵之收服
  15. Confluence团队协同工具使用文档
  16. 突破技术发展瓶颈、成功转型的重要因素
  17. MySQL数据库增删改查SQL语句
  18. 少年碎碎念:《追飞机的人》
  19. vivo NEX 旗舰版——拆卸和分析
  20. Linux中使用iptables记录网络访问日志

热门文章

  1. parseInt 的使用方式,基数表达
  2. 将C/C++代码中的注释删除
  3. c语言冒泡例子,C语言排序实例(选择、冒泡、插入、折半、快速)
  4. spring jpa mysql集群_微框架:Springboot+Jpa+mysql零基础上手班
  5. 无锡 计算机学校排名,无锡中职学校有哪些 前20排名
  6. 基于块的纹理合成 matlab程序,基于块的纹理合成方法和装置制造方法
  7. ap sat_收藏丨2020年雅思、托福、GRE、SAT、ACT、AP考试时间汇总
  8. 随想录(cuda编程)
  9. echarts折线图怎么从y轴开始_基于echarts的双y轴实时更新折线图
  10. linux如何运行python_[TimLinux] Python如何运行程序