1

プロセス内で一意のアトム名を持つ 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 テーブルからすべてのリソースを削除する方法は?

4

1 に答える 1