博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yield学习笔记
阅读量:5817 次
发布时间:2019-06-18

本文共 1078 字,大约阅读时间需要 3 分钟。

参考:http://www.dabeaz.com/finalgenerator/

from concurrent.futures import ThreadPoolExecutorimport timepool = ThreadPoolExecutor(max_workers=8)def func(x, y):    time.sleep(5)    return x, ydef do_func(x, y):    result = yield pool.submit(func, x, y)    print('Got: ', result) def after(delay, gen):    yield pool.submit(time.sleep, delay)    result = None    try:        while True:            f = gen.send(result)            result = yield f    except StopIteration:        print('after ecoutnered StopIteration.') class Task:    def __init__(self, gen):        self._gen = gen    def step(self, value=None):        # Run to the next yield        try:            fut = self._gen.send(value)            # Future returned            fut.add_done_callback(self._wakeup)        except StopIteration as exc:            print('Task encountered StopIteration.')    def _wakeup(self, fut):        # handler for results        result = fut.result()        self.step(result)  # Feedback loop (run to next yield)

为查看完整图片,可右键单击图片选择在新页面中查看。

 

转载于:https://www.cnblogs.com/yifeixu/p/8734899.html

你可能感兴趣的文章
《Linux内核修炼之道》 之 高效学习Linux内核
查看>>
Java数据持久层框架 MyBatis之API学习九(SQL语句构建器详解)
查看>>
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>
让前端小姐姐愉快地开发表单
查看>>
Web前端JQuery入门实战案例
查看>>
7zZip zip RAR iOS
查看>>
Xcode3.2.5中找不到Mac OS X - Command Line Utility -...
查看>>
css的div垂直居中的方法,百分比div垂直居中
查看>>
如何理解EM算法
查看>>
nginx 域名跳转一例~~~(rewrite、proxy)
查看>>
linux用户家目录无损迁移到独立硬盘
查看>>
文件查找
查看>>
shell编程前言(一)
查看>>
JSON前后台简单操作
查看>>
shell中一些常见的文件操作符
查看>>
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
iOS \U7ea2 乱码 转换
查看>>
FCN图像分割
查看>>