私はオペレータdelete
への呼び出しが同期かどうか疑問に思っていました。私は言い換えれば、:演算子 'delete'への呼び出しは同期していますか?
delete p;
は、C++標準では、このコールの実行が終了した後にのみメモリが解放されることを保証していますか?あるいは、非同期的な呼び出しで、これが最適な時期になるとすぐにOSがこのメモリを解放するためのタスクをスケジュールするだけですか?
最初のケースが有効な場合は、独自の非同期削除機能を実装する必要があることを意味しますか?メモリが完全に解放されたときに私たち(プログラマ)が気にしない時間がほとんどだと言うので、私たちのコードがフリーズしてこれを待つことは望ましくありません。むしろ削除のためにタスクをスケジューリングし、直ちに実行を続行します。 C++は標準的な機能を提供していますか?
"メモリが解放されました"を定義してください –
リリース時に定義する場合は、独自の 'new'と' delete'演算子を使用してください。小さなオブジェクトがたくさんあるときは非常に一般的です。 – Naszta
メモリを解放することは、それを割り当てることよりもはるかに安い –