0

G-WANサーバースレッドで、KVストアでアイテムを検索し、「レコード」構造体への有効なポインターを取得したとします。(KVストアはG-WANの永続ポインターに接続されています。)

record = (record_t*)kv_get(&records, "akey", sizeof("akey") - 1);

ロックフリー設計のおかげで、別のサーバースレッドで削除のマークが付けられていても、レコード構造の内容を安全に読み取ることができると思います。

私の質問は、実際の削除はいつ行われるのですか?リクエストが最終的に返されるまで、「レコード」にアクセスできることが保証されていますか?

4

1 に答える 1

0

削除対象としてマークされた KV レコードは、フェッチしたすべてのレコードが終了するまで有効です。HTTP requests

あなたの場合、この VK レコードのコピーを持続ポインタに添付する必要があることを意味します。このデータが、前述の KV レコードを使用した HTTP リクエストの寿命を超えて使用される場合のみです。

HTTP リクエストが終了した後も永続ポインタが参照を保持していないことが確実な場合は、使用する KV レコードのコピーを作成する必要はありません。

于 2012-12-26T13:34:42.627 に答える