是否有可能创建2个永远互相呼叫的Ruby Fibers? Ruby最终会因堆栈溢出而崩溃还是Fibers不会消耗堆栈空间?无限红宝石纤维?
Q
无限红宝石纤维?
2
A
回答
1
如果您在任何编程语言中编写无限循环,则某些内容最终会中断。我不熟悉Ruby Fibers,但是如果他们通过方法互相调用,那么堆栈将最终溢出。
其他可以在无限循环场景中破解的东西是任何有限资源,所以磁盘空间和网络带宽通常是接下来的两个(网络因为通常会超时)。
+2
Infinte循环和无限递归通话是不同的。你不清楚这个区别。无限次的调用调用最终会导致堆栈溢出,但通常会使用无限循环,而不会出现任何问题,如GUI应用程序的主循环中。 – sawa
1
恢复光纤不会增加堆叠大小。如果在每次重新开始其他光纤之前递归到函数中,堆栈将会增加,直到溢出为止 - 就像通常无限递归一样。
相关问题
- 1. 红宝石纤维和王菲
- 2. 红宝石光纤“死光纤称为”
- 3. 红宝石无限循环
- 4. 红宝石纤细内联如果
- 5. 红宝石:获取光纤父母
- 6. 红宝石纤维程序控制流程
- 7. 获取红宝石中开放纤维的数量
- 8. 极限红宝石
- 9. 红宝石多维数组
- 10. 安装红宝石(无写入权限)?
- 11. 红宝石块中的无限循环
- 12. 红宝石optparse限制
- 13. 红宝石。变量权限
- 14. 红宝石权限错误
- 15. 限制红宝石司机
- 16. 红宝石apns宝石返回无
- 17. 无法安装莺红宝石宝石
- 18. 红宝石宝石,Rails.root是无
- 19. 无法加载红宝石宝石irb
- 20. 无法卸载红宝石宝石
- 21. 纤薄宝石和Rails 5
- 22. 请解释背后的逻辑这个红宝石纤维例如
- 23. 限制/限速红宝石机械化
- 24. 红宝石散列在红宝石
- 25. 红宝石宝石文档
- 26. 宝石安装红宝石
- 27. 调试宝石红宝石
- 28. 红宝石程序宝石
- 29. 错误红宝石宝石
- 30. Twitter的红宝石宝石
FWIW红宝石光纤有4k堆栈限制。最近有关于Github的一些讨论,关于Rails上的光纤:https://github.com/rails/rails/issues/2153#issuecomment-2109630 – dwhalen
+1为获得堆栈溢出问题:) – iain