1

リンクされたリストを実装する必要があり、リンクされたリストの各レコードには、メンバーの 1 つとして "TTL:time to live" 変数があります。したがって、リンクされたリストにレコードが作成されるたびに、TTL が何らかの値に設定され、タイマーが開始されます。タイマーが期限切れになると、レコードはリンクされたリストからすぐに削除する必要があります。

これが C で実装できるかどうか知りたいです。

4

1 に答える 1

2

最も簡単な実装は、各レコードにlive until(レコードが作成されているように定義されcurrent time + ttlている) を与え、 を持つすべてのレコードを単に無視することlive until < current timeです。

そうすれば、期限切れのレコードをいつ削除するかを選択できます。おそらく、リストを使用してすべての関数の先頭でそれを行いたいでしょう。おそらく、1 秒ごとに 1 回実行する単一のタイマーが必要な場合があります。多分これらのいくつかの組み合わせ。

レコードごとにタイマーを設定しても意味がありません。

于 2013-09-21T08:29:41.207 に答える