私には「ヤウ」という変数があります。 meowは25に等しくなります。非同期に実行する2つの関数もあります。ある時点では、これらの関数の両方が、meow変数の値にアクセスし、その変数に3を加えて変更する必要があります。しかし、ここで問題があります。非同期関数の1つがこの更新プロセスを低速で実行している場合、もう一方は非同期関数が完了するまで待機する必要があります。ある意味では、meow変数にアクセス/変更するためにキューを作成する必要があります。これはプログラミング言語のメタによるとC++でどのようにしばしば行われますか?変数の読み込みと更新にキューイングを追加する方法は?
-2
A
答えて
0
アトミックとmutexの2つの主な選択肢があります。 1つの共有変数をインクリメントするだけで、インクリメントが発生する順序に気にしない場合は、アトミック変数を使用できます。
詳しくは、the documentation for std::atomicを参照してください。以下に、myatom
というアトミック変数を3つ増やす方法を示します。 myatom
3.
atomic<>
テンプレートに設定されることになるmyatom
がfetch_add
を呼び出す前に0であった場合、関数は0を返すとなるよう
myatom.fetch_add(3);
注fetch_add
その戻り動作前の値、算術演算子もオーバーロードしますが、メンバ関数を使用して、操作がアトミック変数を処理していることを明確にしたいと考えています。問題を追跡するのが簡単になります。
関連する問題
- 1. ページの読み込みとサイズ変更に埋め込みを追加
- 2. 書き込み、読み込み、追加の方法は?
- 3. 「新規ユーザーの追加」ページの読み込み方法
- 4. フォームの読み込み中にコンポーネントを更新する方法
- 5. スーパークラスの変数をディクショナリサブクラスに追加し、値を読み込み
- 6. 読み込みユーザーコントロールにスケールアニメーションを追加する方法
- 7. addEventListenerに複数のイベント(サイズ変更と読み込み)をバインドする方法
- 8. 元のHTMLを読み込み中に変更する方法
- 9. SSEの読み込みと追加
- 10. jqueryタブの追加と読み込み
- 11. 追加情報をデータフレームとして読み込み、情報から新しい列を追加する方法
- 12. Redis同時読み込みと更新
- 13. ページを更新または再読み込みするときにJavaScript関数をトリガする方法は?
- 14. コンテンツの読み込み中にプリローダーを追加するには?
- 15. ページの読み込み中に読み込み中のGIFを追加VB.NET
- 16. データベースからのFirebaseスタートアップの読み込みと新しい追加のための読み込み
- 17. レポートを読み込む前にフィルタを追加する方法
- 18. Firebaseのアイテム$ idに基づいて読み込み、更新する方法は?
- 19. excelファイルを読み込んで新しい行を追加する更新
- 20. vuejsリストを検索中に読み込みアイコンを追加する方法
- 21. 一度ページが読み込まれると消える読み込みテキストを追加するには
- 22. Googleマップを更新/再読み込み
- 23. ジェネリックリストクラスの読み込み、更新、表示
- 24. 'selectInput'の値を読み込んで更新する方法
- 25. ドロップダウン変更イベント(SelectedIndexChange)の画像の読み込み方法
- 26. AJAXがページの読み込み時にJavascript変数を更新しない
- 27. Angular2.RC1子コンポーネントを読み込むときに更新する方法は?
- 28. ページの読み込み時にアクティブなタブのスタイルを変更する方法
- 29. ビューの読み込み時にナビゲーションバーのタイトルを変更する方法
- 30. WPFリストビュー、読み込み、保存、追加
「プログラミング言語のメタに従う」 - それは何ですか? –
申し訳ありませんがわからない場合は、C++ VSでこれを行うための "goto"メソッドが何であるかを尋ねるだけです。 – slimshady
これはまだ明らかではありませんが、http://en.cppreference.com/w/cpp/threadを見てください。 –