問題タブ [weak-ptr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - weak_ptr のスレッドセーフについて
上記のコードに関して、異なるスレッドが同じ読み取りと書き込みを行うとshared_ptr
、競合状態が発生することがわかっています。しかし、どうweak_ptr
ですか?以下のコードに競合状態はありますか? (私のプラットフォームは Microsoft VS2013 です。)
multithreading - weak_ptr の競合状態について
1.数日前に質問( weak_ptrのスレッドセーフについて)を投稿しましたが、現在、他の関連する質問があります。このようなことをすると、上記の例で g_w として競合状態が発生しますか? (私のプラットフォームは ms vs2013 です)
2.私が知っているように、std::tr1::shared_ptr/weak_ptrから派生したstd::shared_ptr/weak_ptr、およびboost::shared_ptr/weak_ptrから派生したstd::tr1::shared_ptr/weak_ptrは、実装に違いはありますか?特に、スレッドセーフの救済において。
c++ - shared_ptr、weak_ptr、および循環依存関係
私の質問はshared_ptr と weak_ptr の違いに似ていると思いますが、違いのリストではなく、それらがどのように連携するかを見ることに興味があります。
Wikipedia のshared_ptr および weak_ptr状態に関するページはweak_pointer
、循環依存関係の問題を解決するために使用でき、例を示しています。
weak_pointer
しかし、循環依存関係が見られないため、問題を解決する方法がわかりません。
a
私は、何らかのオブジェクトが objectを指しb
、b
どういうわけかa
(weak_ptr
チェーンを壊すために有向グラフエッジの 1 つの間にシムを入れて) を指していることを期待していたでしょう。
例は良くて、私の考えは悪いですか? または、問題と解決策のより良い例はありますか?
c++ - boost::weak_ptr は例外をスローしますか?
ここBoost
のドキュメントを読んでいて、最初に次のように述べています。weak_ptr
オブジェクトへの最後の shared_ptr がなくなり、オブジェクトが削除されると、削除されたオブジェクトを参照する weak_ptr インスタンスから shared_ptr を取得しようとすると失敗します。コンストラクターは、boost::bad_weak_ptr 型の例外をスローし、weak_ptr: :lock は空の shared_ptr を返します。
これまでのところすべて明確ですが、2行後に次のように表示されます。
weak_ptr 操作が例外をスローすることはありません。
各ステートメントは何を参照していますか?
c++ - shared_ptr の循環依存の問題は何ですか?
共有ポインタについて読んで、使い方を理解しました。しかし、共有ポインターの循環依存の問題と、弱いポインターがそれらの問題をどのように修正するかを理解していませんでした。誰でもこの問題を明確に説明できますか?