Python异步处理
2024-08-22 13:30:31
回调函数是实现异步操作的常用手法
1、callback版本的示例,其中framework调用logic,在完成某些操作或者接收到信号后,用callback返回异步结果
#!/usr/bin/env python2.7 def framework(logic,callback):
s=logic()
print "[FX] logic:",s
print "[FX] do something..." for i in xrange(1000000):
a=i+1
callback("async:"+s) def logic():
s="mylogic"
return s def callback(s):
print s framework(logic,callback)
2、使用yield改进的blocking style版本:
#!/usr/bin/env python2.7
#-*- coding:utf8 -*- def framework(logic):
try:
it = logic()
s = next(it) print "[FX] logic:",s
print "[FX] do something" f=open("test.txt",'w')
for i in xrange(1000000000):
f.write(str(i)+'\n')
f.close() it.send("async:" + s)
except StopIteration:
pass def logic():
s = "mylogic"
r = yield s print r framework(logic)
最新文章
- jqgrid学习笔记(转载)
- Java日志——2016年5月30日
- zepto源代码解读
- 随机删除数据库N条记录
- UISegmentedControl swift
- 工作经常使用的SQL整理,实战篇(三)
- 《css定位 position》课程笔记
- JPA-学习02
- 10个JavaScript常见BUG及修复方法
- 事件代理on
- prometheus热重启
- __enter__ 和 __exit__上下文管理协议
- Linux内核分析——程序破解
- 002-linux命令-文件和目录、查看文件内容-文件和目录、查看文件内容
- Java学习笔记28(IO字节流)
- [Windows Azure] How to Manage Cloud Services
- qt——QT中QWidget、QDialog及QMainWindow的区别
- python之旅:网络基础之网络协议篇
- python pip 升级
- Opencv3.0-python: 编译报错color.cpp:7456: error: (-215) scn == 3 || scn == 4 的解决方案