0

このケースは、ドキュメントのスレッド セーフティの段落では明示的に言及されていませんが、次の場合に安全boost::intrusiveと見なせるかどうかを知りたいです。boost::intrusive::list::front()

  • push_back()リストに電話しているライターが1人いる可能性があります
  • リストには常に少なくとも 1 つの要素があります

リストは自動リンク解除タイプです。私の直感は、その場合、際どい理由はないと教えてくれますfront()push_back()

4

1 に答える 1

1

完全に競合状態です。

挿入されたオブジェクトが異なる限り、異なるインスタンスへの読み取りまたは書き込みアクセスを持つ複数のスレッドは安全です。

ここで重要なのは、さまざまなインスタンスです。同じインスタンスに対して同時に読み取りと書き込みを行っていますが、仕様は明らかにその安全性を保証していません。

実装は問題ないかもしれません。直感的には、おそらくそうだろうと思います。しかし、仕様は明らかにこれについてまったく保証しておらず、保証されていないため、競合状態を想定する必要があります。

于 2013-03-08T16:32:55.003 に答える