[解決済み] Win32 InterlockedExchange関数はどのような場合に使用するのですか?
2022-02-15 08:26:12
質問
という関数に出会いました。
インターロケッドエクスチェンジ
で、この関数をいつ使えばいいのか悩んでいました。私の意見では、x86プロセッサで32ビットの値を設定する場合は、常にアトミックであるべきだと思いますが?
この関数を使いたい場合、新しい値が古い値に依存しない(インクリメント操作ではない)ことが条件です。
このメソッドが必須となる例を教えてください (InterlockedCompareExchange を探しているわけではありません)。
どのように解決するのですか?
マルチプロセッサやマルチコアマシンでは、各コアが独自のキャッシュを持つため、各コアはシステムメモリの内容についてそれぞれ異なる可能性のある「見方」をしています。
スレッド同期機構は、コア間の同期を取るためのものです。 http://blogs.msdn.com/oldnewthing/archive/2008/10/03/8969397.aspx または、acquire and release semanticsでググってください。
関連
-
[解決済み】Not on FX application thread; currentThread = JavaFX Application Thread エラーを回避する方法は?
-
[解決済み] デッドロックとは何ですか?
-
[解決済み] 初心者のためのアトミック操作とは?
-
[解決済み] Pythonでループ内の演算をマルチスレッド化する方法
-
[解決済み] プロセスとスレッドの違いは何ですか?
-
[解決済み] ThreadLocal変数はいつ、どのように使用すればよいですか?
-
[解決済み】セマフォとモニター、何が違うの?
-
[解決済み】Javaにおけるvolatileとsynchronizedの違いについて
-
[解決済み】C#でvolatileキーワードはいつ使うべきですか?
-
[解決済み] Re-entrantロックとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] スレッドコンテンションとは何ですか?
-
[解決済み] Dask: dask delayでどのようにコードを並列化するか?
-
[解決済み] POSIXシステムでのゾンビスレッド
-
[解決済み] "フリースレッド "と "スレッドセーフ "の違いについて
-
[解決済み] Win32 InterlockedExchange関数はどのような場合に使用するのですか?
-
[解決済み】「スレッド」とは(本当は)何ですか?)
-
[解決済み】セマフォとモニター、何が違うの?
-
[解決済み】糸と繊維の違いは何ですか?
-
[解決済み】並行処理、並列処理、非同期メソッドの違いは何ですか?
-
[解決済み] Re-entrantロックとは何ですか?