プロセス内で一意のアトム名を持つ ETS テーブルを作成しています。プロセスが実行され、終了します。プロセスの終了により、ETS で消費されたリソース (メモリ) がクリアされますか?
を使用した後、ETS テーブルをクリーンアップ/削除する必要がありますか?
これは私がやっていることです:
parentProcess() ->
UniqueAtomTerm = 'myAtomIdentifier',
ets:new( UniqueAtomTerm, [] ),
myProc (UniqueAtomTerm).
.
myProc( UniqueAtomTerm ) ->
.... do some inserts, etc
ets:delete_all_objects( UniqueAtomTerm ).
同じアトム識別子で別の ETS テーブルを作成しようとすると、エラーが発生するようです。そのため、上記は機能しないようです。上記のとおり、別のプロセスから挿入する必要があるため、ETS テーブル オプションをプライベートにすることはできません(プライベートが ETS リソースをクリアする場合に備えて)。
つまり、最終的な質問: 特定の ETS テーブルからすべてのリソースを削除する方法は?