2つのRuby's Fibersを永遠に呼び出すことは可能ですか?スタックオーバーフローでRubyがクラッシュするか、Fibersがスタックスペースを消費しないのですか?無限ルビーファイバー?
2
A
答えて
1
プログラミング言語がの場合、に無限ループを書き込むと、何かが途絶えるでしょう。私はRuby Fibersに慣れていませんが、メソッドを介してお互いを呼び出す場合、スタックは最終的にオーバーフローします。
無限ループシナリオで壊れる可能性のあるその他のものは、リソースが限られているため、ディスクスペースとネットワーク帯域幅は通常次の2つです(通常はタイムアウトするためネットワークです)。
+2
Infinteループと無限再帰コールは異なります。あなたはこの区別についてはっきりしていません。無限の再帰呼び出しは最終的にスタックオーバーフローを引き起こしますが、無限ループはGUIアプリケーションのメインループのような問題なしに定期的に使用されます。 – sawa
1
ファイバを再開してもスタックサイズは増加しません。あなたが他のファイバーを再開する前に関数に再帰した場合、スタックはオーバーフローするまで増加します - 通常は無限再帰と同様です。
関連する問題
- 1. Asyncio、無限ループ、無限ループ
- 2. 無限のカウンターの無限リスト
- 3. jQueryのクロスフェード画像無限に無限
- 4. GameMaker:スタジオ無限地形/無限ジャンパー
- 5. 無限装填パッケージ、無限ゲット
- 6. 無限
- 7. 無限リダイレクトループCoovaChilli
- 8. クラス、無限リスト
- 9. Jquery無限スクロールアッププラグイン
- 10. Jquery無限キュー
- 11. ASM無限ループ
- 12. 2D無限ループアレイ
- 13. イオン無限スクロール
- 14. Prolog無限ループ
- 15. CSS3無限ループアニメーション
- 16. WCF ReceiveTimeout無限
- 17. jQuery無限ループ
- 18. jQuery無限スクロールトリガー
- 19. カスタム無限スクロールトリガー
- 20. は無限ストリーム
- 21. Javascript - 無限スクロールバグ?
- 22. 無限クエリは
- 23. ループフェードインフェードアウト無限
- 24. 無限レベルリストビュー
- 25. 無限のアウトレット
- 26. beforeRouteEnter無限ループ
- 27. 無限スクロールUIPageViewController
- 28. 無限ループ/セグメンテーションエラー
- 29. C++無限ループ
- 30. 無限ループエラー
FWIW Rubyファイバのスタック制限は4kです。最近では、Rails上のファイバーに関するGithubに関するいくつかの議論があります:https://github.com/rails/rails/issues/2153#issuecomment-2109630 – dwhalen
+1質問にスタックオーバーフローが発生しました。 – iain