是否有可能創建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