yield学习笔记
2024-10-15 18:00:54
参考:http://www.dabeaz.com/finalgenerator/
from concurrent.futures import ThreadPoolExecutor
import time
pool = ThreadPoolExecutor(max_workers=8) def func(x, y):
time.sleep(5)
return x, y def 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)
为查看完整图片,可右键单击图片选择在新页面中查看。
最新文章
- BSBuDeJie_04
- JS的兼容函数
- color.xml
- TCP Server—Linux
- Objective-C 之优雅的命名(转)
- Java中删除文件、删除目录及目录下所有文件
- GMT-Note 基本参数详细说明
- Servlet的一些细节(1)
- CodeForces 383D Antimatter
- JQuery UI 封装了一些常用模板
- 将 FFmpeg 移植到 Android平台 (完整版)
- CSS学习笔记08 浮动
- [SinGuLaRiTy] 复习模板-图论
- Build to win--来自小黄衫
- 局域网安全-生成树攻击-ARP攻击-MAC攻击-VTP攻击-动态VLAN的攻击
- MapRdeuce&Yarn的工作机制(YarnChild是什么)
- HashSet源码
- HashTable、HashMap、ConcurrentHashMap的区别
- icon工具类
- Elasticsearch学习笔记1
热门文章
- Nginx常用的平滑重启
- [物理学与PDEs]第2章习题11 Lagrange 形式的一维理想流体力学方程组在强间断线上的间断连接条件
- String总结
- Spring系列(三) Bean装配的高级技术
- SQL Server - case when...then...else...end
- 2019春季训练02: JU Flash Contest Gym - 102035 训练报告与复盘
- 行为驱动:Cucumber + Selenium + Java(二) - extentreports 测试报告+jenkins持续集成
- AI数据分析(二)
- CAS tomcat6搭建
- Redis 可视化工具:Web Redis Manager