Thread.Suspend、ガベージ コレクション、およびセーフ ポイント

スレッドで Thread.Suspend を呼び出すと、システムはスレッドの中断が要求されたことを認識しますが、スレッドを実際に中断する前に、スレッドがセーフ ポイントに達するまで待機して、その実行を許可します。 スレッドのセーフ ポイントとは、ガベージ コレクションを行うことができる、実行中のポイントのことです。

セーフ ポイントに達した後は、中断されたスレッドがマネージ コード内でこれ以上進行しないことが、ランタイムによって保証されます。 マネージ コードの外部で実行されているスレッドは、いつでもガベージ コレクションを実行でき、このスレッドの実行は、マネージ コードの実行の再開を試みるまで継続されます。

メモメモ

ガベージ コレクションを実行するには、そのコレクションを実行しているスレッドを除き、すべてのスレッドを中断する必要があります。各スレッドを中断するには、そのスレッドをセーフ ポイントに移動する必要があります。

参照

参照

Thread

GC

概念

自動メモリ管理

その他の技術情報

マネージ スレッド処理