問題タブ [atomicinteger]
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++ - C++: 異なるスレッド間で値 (データ) を共有する適切な方法
次の Thread.cpp があります。
モーションスレッド.cpp
これは私の正確なコードではありません。これは、データを取得して変数にデータを格納する部分です。distance_q2, angle_q6_checkbit
などはアトミック変数ではないため、別のスレッドからの読み取りと書き込みは一貫していません!! 同じスレッドで、データを印刷しようとすると、適切な読み取りが得られます。出力を以下に示します。
今、私は処理または他の私のもののためにデータを取得しようとしました. 距離、角度の品質データを保存するThread::sync_quality, Thread::angle_q6_checkbit, Thread::distance
レーザー データThread.cpp
からmotion.cpp
スレッドへのデータの取得 (モーション スレッドでのデータのカウント):
不適切な出力が得られます (359 度しか得られず、これも不適切です)。結論が出ません。上記の出力は次のようになります。
その後、アトミックとして宣言しようとしましたが、改善が見られません。助けていただければ幸いです。
c - atomic_flag の初期化
変数を追加したい があります。これを と呼びstruct
ましょう。これまでのところ、ほとんどゼロで初期化する必要があるため、構造体を調べてきました。メンバーをどのように初期化すればよいですか?struct foo
atomic_flag
calloc
atomic_flag
編集:
Jens Gustedtによるこの関連するDR#421を見つけました。これは、ゼロ/デフォルトの初期化をs だけで機能させることを提案しています。受理されたかどうかはどうすればわかりますか?atomic_flag