ドキュメントによると、スレッドからロックし、別の rwlock からロック解除すると、未定義の動作が発生します。配列と2つのスレッドがあり、1つは割り当て、もう1つは割り当て解除します。これはサイクルで発生し、読み取り/書き込みを行うスレッドもいくつかありますが、重複することはないため、同期は必要ありません。問題は、読み取り/書き込みスレッドが、dealloc - alloc の間の時間枠で配列を使用しようとすることです。読み取り/書き込みスレッドに読み取りロックを使用し、配列をロックして解放スレッドに書き込み、割り当てスレッドで書き込みをロック解除することを考えていました。しかし、これは異なるスレッドで発生するため、未定義の動作になります。この場合、どのようなアプローチが適切でしょうか?
質問する
483 次