Python中文
首页
教程
问答
标签
搜索
登录
注册
twisted延迟/回调和异步执行
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正试图找出如何使用twisted使代码更加异步。</p> <ul> <li>函数返回延迟对象</li> <li>然后我添加一个回调列表</li> <li>第一个回调将在deferred函数通过<code>deferred_obj.callback</code>提供某些结果后调用</li> <li>然后,在回调链中,第一个回调将处理数据并调用第二个回调</li> <li>等等</li> </ul> <p>然而,链式回调不会被认为是异步的,因为它们是链式的,并且事件循环将继续并发地触发它们中的每一个,直到没有更多的,对吧?</p> <p>但是,如果我有一个延迟对象,并且我将延迟obj.callback作为其回调附加在<code>d.addCallback(deferred_obj.callback)</code>中,那么这将被认为是异步的,因为延迟obj正在等待数据,然后传递数据的方法也在等待数据,但是,一旦i d.callback'd'对象处理数据,它就会调用deferred_obj.callback。但是,由于此对象被延迟,与链式回调不同,它将异步执行。。。对的?</p> <p>假设我的所有代码都是非阻塞的,这意味着链式回调不是异步的,而链式延迟是异步的,对吗?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>有点,但是在这种类型的事件处理中没有并发性。在代码返回到事件循环之前,不会调用新的回调。所以回调链是同步的。它在事件循环中只是异步的。</p> <p>这是此类编程的一个警告,处理程序执行最快,并尽快返回事件循环。它不应该在处理程序中执行任何耗时的任务。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
从Django temp访问容器的方法
7 回答
从Django temp请求ModelForm实例
3 回答
从Django temp返回JSON
3 回答
从Django timesince模板等效项中删除尾部数据
9 回答
从Django timesin删除尾随数据
7 回答
从Django UpdateView模板下载文件
7 回答
从Django url传递“start”会出现错误“start()只接受2个参数(给定1个)”
7 回答
从Django url运行的websockets错误:RuntimeError:线程“Dummy1”中没有当前事件循环
10 回答
从Django user mod获取用户全名
9 回答
从Django UserCreateForm中删除帮助文本
2 回答
从Django values()获取外键值
8 回答
从Django vi中的按钮获取click事件
4 回答
从Django vi从HttpResponse检索JSON
10 回答
从Django vi以json形式返回的数据中检索元素
4 回答
从Django vi取消或取消eventlet中的芹菜任务
10 回答
从Django vi启动多核后台进程
6 回答
从Django vi开始
8 回答
从Django Vi构建HTML
8 回答
从Django vi访问进程数据
9 回答
从Django vi调用pysnmp发送超时
6 回答