如何将两个整数与Twisted一起添加?

Gly*_*yph 47 python asynchronous arithmetic-expressions twisted addition

我的程序中有两个整数; 让我们称他们为" a"和" b".我想将它们加在一起,结果得到另一个整数.这些是常规的Python int对象.我在想; 如何将它们与Twisted一起添加?performAsynchronousAddition某处有特殊功能吗?我需要一个Deferred吗?反应堆怎么样?是否涉及反应堆?

Sin*_*ion 42

好的,要清楚.

Twisted对cpu绑定任务没有任何意义, 并且有充分的理由.通过重新排序子任务,没有办法让计算绑定的工作更快; 你唯一可能做的就是增加更多的计算资源; 因为它的实现很精细,所以在python中也行不通.

Twisted提供了特殊的语义和事件循环处理,以防程序在其控制之后"等待"外面的东西" 卡住 "; 通常是在另一台机器上运行并通过网络连接与您的扭曲进程通信的进程.既然你会等待,那么twisted会让你有机会在此期间完成更多工作.也就是说,twisted为I/O Bound任务提供并发性

tl; dr:twisted用于网络代码.其他一切都只是普通的python.

  • 虽然很有诱惑力,但我现在应该注意到我是Twisted的原创作者,这个问题是作为一种实验而写的.我们得到了很多的味道问题:"我如何调用函数`X`,以扭曲",这里的答案("`X()`")是如此的明显,我们有沟通就麻烦了.许多程序员都太习惯于使用成语,如"'time.sleep()`"表示"......然后做了一堆的I/O和/或计算......"他们不能或不当I/O和计算之间的区别非常关键时,进一步充实他们的例子. (25认同)
  • (值得注意的是,使用`spawnProcess`,Twisted确实为CPU绑定任务提供了一点*支持,通过将它们转换为I/O绑定任务,然后以相同的方式与它们通信.但这仍然是一个很好的解释.) (4认同)
  • 作为朋友和邻居,我求求你:请不要为了添加两个整数而产生一个进程. (3认同)
  • 感谢您提供深思熟虑的答案. (2认同)
  • 我实际上非常喜欢你的答案,将来可能会使用它的元素.我很惊讶地得到如此快速的有用反馈;). (2认同)

Kei*_*ith 8

这个怎么样:

c = a + b
Run Code Online (Sandbox Code Playgroud)

这应该工作,并且不需要异步完成(它非常快).