12
page on the garbage collectorは、Dがインクリメンタルガベージコレクタを使用するのか、世界を止めるバージョンを使用するのかを指定しません。 を数回中断してと言いますが、これは世界的なガベージコレクターのヒントかもしれませんが、わかりません。Dプログラミング言語でインクリメンタルガベージコレクタを使用していますか?
インクリメンタルガベージコレクタを使用しない場合は、特に理由はありますか?世界を止めるGCは、インタラクティブなアプリケーションに苦労します。
こんにちは、私のアバターはHaunterに触発されています。つまり、インクリメンタルガベージコレクタには障壁を書き込む必要があるのはなぜですか? – orlp
"インクリメンタルガベージコレクション"は通常、ヒープスキャンの開始と終了の間にアプリケーションコードが実行されることを意味します。 GCが参照を見つけることができない場合、オブジェクトはガベージとみなされ、収集されます。GCはメモリブロックAをスキャンし、次にアプリケーションコードがブロックBからAへのオブジェクトへの唯一の参照を移動するときに発生します。 GCはブロックBをスキャンする。ブロックAがスキャンされた後にGCが変更されたことをGCが認識しない場合、オブジェクトへの参照は決して見られず、それを破棄する。 –
これは間違っていますが、必ずしもアプリケーションコードに書き込み障壁が必要なわけではありません。メモリ書き込みを追跡するにはMMUにアクセスする必要があります.Windowsにはメモリ書き込みAPIがあります。それは魔法ではなく、難しくありません。 – Lothar