リンクされたリストを実装する必要があり、リンクされたリストの各レコードには、メンバーの 1 つとして "TTL:time to live" 変数があります。したがって、リンクされたリストにレコードが作成されるたびに、TTL が何らかの値に設定され、タイマーが開始されます。タイマーが期限切れになると、レコードはリンクされたリストからすぐに削除する必要があります。
これが C で実装できるかどうか知りたいです。
リンクされたリストを実装する必要があり、リンクされたリストの各レコードには、メンバーの 1 つとして "TTL:time to live" 変数があります。したがって、リンクされたリストにレコードが作成されるたびに、TTL が何らかの値に設定され、タイマーが開始されます。タイマーが期限切れになると、レコードはリンクされたリストからすぐに削除する必要があります。
これが C で実装できるかどうか知りたいです。
最も簡単な実装は、各レコードにlive until
(レコードが作成されているように定義されcurrent time + ttl
ている) を与え、 を持つすべてのレコードを単に無視することlive until < current time
です。
そうすれば、期限切れのレコードをいつ削除するかを選択できます。おそらく、リストを使用してすべての関数の先頭でそれを行いたいでしょう。おそらく、1 秒ごとに 1 回実行する単一のタイマーが必要な場合があります。多分これらのいくつかの組み合わせ。
レコードごとにタイマーを設定しても意味がありません。