参考: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)

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

最新文章

  1. BSBuDeJie_04
  2. JS的兼容函数
  3. color.xml
  4. TCP Server—Linux
  5. Objective-C 之优雅的命名(转)
  6. Java中删除文件、删除目录及目录下所有文件
  7. GMT-Note 基本参数详细说明
  8. Servlet的一些细节(1)
  9. CodeForces 383D Antimatter
  10. JQuery UI 封装了一些常用模板
  11. 将 FFmpeg 移植到 Android平台 (完整版)
  12. CSS学习笔记08 浮动
  13. [SinGuLaRiTy] 复习模板-图论
  14. Build to win--来自小黄衫
  15. 局域网安全-生成树攻击-ARP攻击-MAC攻击-VTP攻击-动态VLAN的攻击
  16. MapRdeuce&Yarn的工作机制(YarnChild是什么)
  17. HashSet源码
  18. HashTable、HashMap、ConcurrentHashMap的区别
  19. icon工具类
  20. Elasticsearch学习笔记1

热门文章

  1. Nginx常用的平滑重启
  2. [物理学与PDEs]第2章习题11 Lagrange 形式的一维理想流体力学方程组在强间断线上的间断连接条件
  3. String总结
  4. Spring系列(三) Bean装配的高级技术
  5. SQL Server - case when...then...else...end
  6. 2019春季训练02: JU Flash Contest Gym - 102035 训练报告与复盘
  7. 行为驱动:Cucumber + Selenium + Java(二) - extentreports 测试报告+jenkins持续集成
  8. AI数据分析(二)
  9. CAS tomcat6搭建
  10. Redis 可视化工具:Web Redis Manager