問題タブ [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.

0 投票する
0 に答える
103 参照

c++ - C++: 異なるスレッド間で値 (データ) を共有する適切な方法

次の Thread.cpp があります。

モーションスレッド.cpp

これは私の正確なコードではありません。これは、データを取得して変数にデータを格納する部分です。distance_q2, angle_q6_checkbitなどはアトミック変数ではないため、別のスレッドからの読み取りと書き込みは一貫していません!! 同じスレッドで、データを印刷しようとすると、適切な読み取りが得られます。出力を以下に示します。

Thread.cpp からの適切なデータ

今、私は処理または他の私のもののためにデータを取得しようとしました. 距離、角度の品質データを保存するThread::sync_quality, Thread::angle_q6_checkbit, Thread::distance

レーザー データThread.cppからmotion.cppスレッドへのデータの取得 (モーション スレッドでのデータのカウント):

不適切な出力が得られます (359 度しか得られず、これも不適切です)。結論が出ません。上記の出力は次のようになります。

別スレッドmotion.cooで不適切なデータ

その後、アトミックとして宣言しようとしましたが、改善が見られません。助けていただければ幸いです。

0 投票する
1 に答える
204 参照

c - atomic_flag の初期化

変数を追加したい があります。これを と呼びstructましょう。これまでのところ、ほとんどゼロで初期化する必要があるため、構造体を調べてきました。メンバーをどのように初期化すればよいですか?struct fooatomic_flagcallocatomic_flag

編集:

Jens Gustedtによるこの関連するDR#421を見つけました。これは、ゼロ/デフォルトの初期化をs だけで機能させることを提案しています。受理されたかどうかはどうすればわかりますか?atomic_flag