twisted thread reactor.stop

来源:互联网 发布:java进入文件夹 编辑:程序博客网 时间:2024/06/13 07:03

看到一篇

http://kaishaku.org/twisted-vs-threads/

的文章。

跑了一下测试代码,windows xp下, python 2.5, twisted 8.2

 

原代码里运行了两次 reactor.run() , reactor.stop(), 但第二次reactor.stop()不返回。如果中止程序运行,会出现

twisted.internet.error.ReactorNotRunning: Can't stop reactor that isn't running。

 

看了些google出来的帖子,包括邮件列表里的内容,还是比较糊涂。看twisted的源文件,发现了一个貌似有些危险的类似reactor.stop()的函数,reactor.crash(). 于是用reactor.crash()更改了reactor.stop().程序可以运行。

 

得到的twisted vs. thread 的结果虽然没有原文那么夸张,但twisted确实没显示出明显优势的地方。软件的开发和具体的功能业务密不可分,至少在给出的代码里,这项任务似乎不适合twisted的架构。

 

经过这段时间的学习和coding,觉得twisted的带来了很多惊喜,特别是对于server端的开发。虽然性能上的测试不多,但coding上还是比较快乐的。比较期待进一步的探索和发现。