C++ で並行プログラミングを始めました。
「new」を使用して新しいメモリを割り当てるスレッドがいくつかある場合、競合する可能性はありますか?
pthread に関する適切なリファレンスはありますか? (「C++ Concurrency in Action Practical Multithreading Anthony Williams」は知っていますが、C++11 に基づいています)
C++ で並行プログラミングを始めました。
「new」を使用して新しいメモリを割り当てるスレッドがいくつかある場合、競合する可能性はありますか?
pthread に関する適切なリファレンスはありますか? (「C++ Concurrency in Action Practical Multithreading Anthony Williams」は知っていますが、C++11 に基づいています)
システムはそのような操作を処理するように設計されているため、メモリ割り当てが競合することはありません。さらに、あるスレッドでメモリを割り当て、別のスレッドで割り当てを解除することも可能です。
pthreads の最高のリソース/友達は、スタック オーバーフローと google になると思います
メモリ割り当てがスレッドセーフかどうかは、コンパイラ/標準ライブラリの実装によって異なります。
gcc と clang では、-pthreads でコンパイルすると、メモリ割り当てはスレッド セーフになります。Visual Studio では、マルチスレッド ランタイム (デフォルト) とリンクする場合にのみスレッド セーフになります。