美文网首页
python获取多线程的返回值

python获取多线程的返回值

作者: 暗影帷幕 | 来源:发表于2020-09-03 10:31 被阅读0次
import threading


class MyThread(threading.Thread):

    def __init__(self,func,args=()):
        super(MyThread,self).__init__()
        self.func = func
        self.args = args

    def run(self):
        self.result = self.func(*self.args)

    def get_result(self):
        try:
            return self.result  # 如果子线程不使用join方法,此处可能会报没有self.result的错误
        except Exception:
            return None


def foo(a,b,c):
    time.sleep(1)
    return a*2,b*2,c*2

st = time.time()
li = []
for i in xrange(4):
    t = MyThread(foo,args=(i,i+1,i+2))
    li.append(t)
    t.start()

for t in li:
    t.join()  # 一定要join,不然主线程比子线程跑的快,会拿不到结果
    print t.get_result()

et = time.time()
print et - st

输出结果

(0, 2, 4)
(2, 4, 6)
(4, 6, 8)
(6, 8, 10)
1.00099992752

转载自:https://www.cnblogs.com/hujq1029/p/7219163.html

相关文章

  • python获取多线程的返回值

    输出结果 转载自:https://www.cnblogs.com/hujq1029/p/7219163.html

  • Java - Callable、Future、FutureTas

    Callable、Future、FutureTask组合使用可以阻塞获取多线程执行的返回值,是Runnable功能...

  • 多线程获取返回值

    1.共享变量 将要保存/修改的值set到共享变量中,通过获取共享变量实现值在不同线程中的传递 如下在子线程中循环累...

  • python多线程获取子线程任务返回值

    今天想实现多线程更新资产信息,所以使用到了threading,但是我需要每个线程的返回值,这就需要我在thread...

  • java多线程Callable结合Future实现获取线程返回值

    场景 我们在使用多线程的时候,会希望获取到线程的返回值,但是常规的继承Thread或者实现Runable接口是没有...

  • 多线程

    多线程开发 - 异步 多线程 - 延迟 多线程 - 异步延迟 discardableResult 就是说返回值可以...

  • python 处理多线程返回值

    python线程池有一个回调函数,可以通过回调函数处理线程返回值,线程池的回调函数默认有一个 workWorkRe...

  • java多线程

    实现多线程的方式 实现Runnable(无返回值) 实现Callable(Future接收返回值) 继承Threa...

  • Java多线程,如何获取线程的返回值?

    在 Java 中,我们常常开启多个线程来提高运行效率。但是有时候我们需要这些线程的返回值。应该如何获取线程的返回值...

  • 博客开发接口文档

    外层返回值 获取作者额外信息 请求值 返回值 获取文章额外信息 请求值 返回值 评论对象 增加阅读量 请求值 点赞...

网友评论

      本文标题:python获取多线程的返回值

      本文链接:https://www.haomeiwen.com/subject/xvsnsktx.html