0

一般に、カウント参照がない場合、バイナリは自動的に割り当てを解除しますが、プロセスが終了する前に、単一のプロセスでバイナリの割り当てを解除するにはどうすればよいですか?どうもありがとう!!

4

2 に答える 2

1

Erlangは、バイナリが使用されている場所を追跡するために参照カウントを使用します。プロセスがバイナリを作成するたびにカウントが増加し、別のプロセスに送信されるたびに、さらに別の増分が行われます。プロセスがバイナリの使用を停止すると(つまり、変数をバイナリにバインドし続けることはなくなります)、カウントは減少します。

バイナリが単一のプロセスで使用されるか複数のプロセスで使用されるかは実際には重要ではありません。参照カウントがゼロの場合、バイナリは自動的にガベージコレクションされるためです。したがって、単一のプロセスでバイナリのみを使用する場合でも、ErlangVMがそれを処理します。

実際、適用する一般的な「ルール」は、Erlangの他のデータ型と同様に、バイナリは自動的にガベージコレクションされるというものです。

于 2012-08-29T18:47:10.997 に答える
0

バイナリの割り当てを手動で解除しないでください。

于 2012-08-29T04:10:08.660 に答える