5

私の理解が正しければ、CPython では、参照カウントがゼロになるとすぐにオブジェクトが削除されます。到達不能になる参照サイクルがある場合、そのロジックは機能しませんが、場合によってはインタープリターがそれらを見つけて削除しようとします (これは gc.collect() を呼び出して手動で行うことができます)。

私の質問は、これらのインタープリターによってトリガーされるサイクル コレクションのステップがいつ発生するかということです。どのようなイベントがそれらをトリガーしますか?

私は CPython のケースにもっと興味がありますが、これが PyPy または他の Python 実装でどのように異なるかを知りたいです。

4

1 に答える 1