新しいクラスのいずれかで新しい/削除演算子を再実装しました。今私は自分のコードをマルチスレッド化しており、これらの演算子がスレッドセーフである必要があるかどうかを理解したいと思います。私は、Visual Studioのデフォルトの新規/削除演算子がスレッドセーフであることをどこかで読んだことがあります。しかし、それは私のクラスのカスタム新規/削除演算子に当てはまりますか?C++でのクラスレベルの新しい削除演算子のスレッドセーフ
void* MyClass::operator new(std::size_t count)
{
void* memo = ::operator new(count);
printf("Allocated base\n");
return memo;
}
あなたの 'new' /' delete'実装に依存します。あなたの例のように標準の演算子を呼び出すだけであれば、すでにスレッドセーフです。独自のメモリマネージャを作成する場合は、マルチスレッド環境で正しく動作することを確認する必要があります。 – Ari0nhh
Unixでは、フォークとスレッディングで[this](http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-beforeusing-them)の問題を常に考慮する必要があります。 – UKMonkey