私には「ヤウ」という変数があります。 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. addEventListenerに複数のイベント(サイズ変更と読み込み)をバインドする方法
- 6. 元のHTMLを読み込み中に変更する方法
- 7. jqueryタブの追加と読み込み
- 8. SSEの読み込みと追加
- 9. 追加情報をデータフレームとして読み込み、情報から新しい列を追加する方法
- 10. コンテンツの読み込み中にプリローダーを追加するには?
- 11. データベースからのFirebaseスタートアップの読み込みと新しい追加のための読み込み
- 12. レポートを読み込む前にフィルタを追加する方法
- 13. Firebaseのアイテム$ idに基づいて読み込み、更新する方法は?
- 14. vuejsリストを検索中に読み込みアイコンを追加する方法
- 15. 一度ページが読み込まれると消える読み込みテキストを追加するには
- 16. Googleマップを更新/再読み込み
- 17. ジェネリックリストクラスの読み込み、更新、表示
- 18. ドロップダウン変更イベント(SelectedIndexChange)の画像の読み込み方法
- 19. WPFリストビュー、読み込み、保存、追加
- 20. Angular2.RC1子コンポーネントを読み込むときに更新する方法は?
- 21. ページの読み込み時にアクティブなタブのスタイルを変更する方法
- 22. ビューの読み込み時にナビゲーションバーのタイトルを変更する方法
- 23. ホームページの読み込み後にイメージを読み込む方法
- 24. ページの読み込み後にキャンバスのテキストを更新する
- 25. jQueryを実行する追加読み込み済みHTML
- 26. iPhoneで項目を追加して読み込む方法は?
- 27. ASP.NETでのページの読み込み(更新/変更)でjavascript(またはjQuery)を呼び出す方法
- 28. ページの読み込み時に一度Iframeを更新する
- 29. コアデータの読み込み時にBoolを更新する
- 30. vb.netのページ読み込み時に変数の値を変更しないようにする方法
「プログラミング言語のメタに従う」 - それは何ですか? –
申し訳ありませんがわからない場合は、C++ VSでこれを行うための "goto"メソッドが何であるかを尋ねるだけです。 – slimshady
これはまだ明らかではありませんが、http://en.cppreference.com/w/cpp/threadを見てください。 –