.netコンソールアプリケーションを介して頻繁に実行される無限のタスクを実装しています。しかし、私は、以下がメモリリークを招くことに懸念しています。 Mainは静的なので(これはガベージコレクションに関する私の知識が霧になる)、メインが終了するまでガベージコレクタによって取り込まれることはありません。メインメソッドからのガベージコレクション(無限ループ)
この場合、ガーベッジコレクタがどのように動作するか説明してください。
public static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.RollingFile("Logs/log-{Date}.txt")
.CreateLogger();
while (true)
{
try
{
Thread.Sleep(1000);
new UpdatePlayer().Run();
}
catch (Exception ex)
{
Log.Error(ex.ToString());
}
}
}
これは本当に良い例です。 tryブロックを終了するとコレクションが発生しますか? – DeanR
@DeanR:コレクションを 'try'スコープに移動した場合:' try {List