問題タブ [volatile]
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++ - なぜ揮発性が存在するのですか?
キーワードは何をしvolatile
ますか?C++ では、どのような問題が解決されますか?
私の場合、故意にそれを必要としたことは一度もありません。
java - volatile キーワードは何に役立ちますか?
volatile
今日の仕事で、Javaのキーワードに出くわしました。よくわからないので、この説明を見つけました。
その記事が問題のキーワードを詳細に説明していることを考えると、あなたはそれを使用したことがありますか、またはこのキーワードを正しい方法で使用できるケースを見たことがありますか?
c# - C#でのvolatileキーワードの使用法の説明
volatile
キーワードの動作を視覚的に示す小さなプログラムをコーディングしたいと思います。理想的には、不揮発性静的フィールドへの同時アクセスを実行し、そのために誤った動作をするプログラムである必要があります。
同じプログラムにvolatileキーワードを追加すると、問題が解決するはずです。
それは私がなんとか達成できなかったことです。何度か試したり、最適化を有効にしたりしても、「volatile」キーワードがなくても常に正しい動作が得られます。
このトピックについて何か考えがありますか?簡単なデモアプリでこのような問題をシミュレートする方法を知っていますか?ハードウェアに依存しますか?
c# - 揮発性vs.連動vs.ロック
public int counter
クラスに複数のスレッドがアクセスするフィールドがあるとしましょう。これint
はインクリメントまたはデクリメントされるだけです。
このフィールドをインクリメントするには、どのアプローチを使用する必要がありますか、またその理由は何ですか?
lock(this.locker) this.counter++;
、Interlocked.Increment(ref this.counter);
、- のアクセス修飾子をに変更し
counter
ますpublic volatile
。
私が発見したvolatile
ので、私は多くのlock
ステートメントとの使用を削除してきましたInterlocked
。しかし、これを行わない理由はありますか?
c - DelphiにはCの揮発性変数に相当するものがありますか?
CおよびC++では、変数をvolatileとしてマークできます。これは、宣言するオブジェクトの外部で変更される可能性があるため、コンパイラーが変数を最適化しないことを意味します。Delphiプログラミングに相当するものはありますか?キーワードでない場合は、おそらく回避策ですか?
私の考えはAbsoluteを使用することでしたが、確信が持てず、他の副作用が発生する可能性があります。
c - Cで揮発性が必要なのはなぜですか?
なぜvolatile
Cで必要なのですか? それは何のために使用されますか?それは何をしますか?
c - 静的グローバル変数と静的揮発変数の違いは何ですか?
ファイルスコープで静的グローバル変数と静的揮発変数を使用しましたが、
どちらも ISR とメイン ループによって更新され、メイン ループは変数の値をチェックします。
ここでは、最適化中にグローバル変数も揮発性変数も最適化されません。したがって、揮発性変数を使用する代わりに、グローバル変数が問題を解決します。
では、揮発性の代わりにグローバル変数を使用するのは良いことですか?
static volatile を使用する特定の理由??
どんなサンプルプログラムも評価できるでしょう。
前もって感謝します..
c - 例C揮発性変数を使用した関数
論文の場合、揮発性変数を使用する実際のC関数を探しています。それ自体を見つけるのは難しいことではありませんが、関数の特定のブランチに到達するために、関数の実行中に揮発性変数の値を変更する必要がある関数を探しています。このようなもの:
関数の実行中に構造のさまざまなビットが変更されれば十分ですが、私の主な基準は、特定の分岐に到達するために、関数の実行中に揮発性変数の値が変更されることです。
実際の例に感謝します。Web上でvolatileを使用した多くの例を見つけることができませんでした。
c# - readonly 修飾子と volatile 修飾子が相互に排他的であるのはなぜですか?
readonly
参照は変更されず、そのプロパティのみであるため、参照型変数があります。修飾子を追加しようとするvolatile
と、コンパイルされたものから、両方の修飾子を同じ変数に適用できないことが警告されました。しかし、プロパティを読み取るときにキャッシュの問題が発生したくないため、揮発性である必要があると思います。何か不足していますか?それともコンパイラが間違っていますか?
更新以下のコメントの 1 つでマーティンが述べたように: 参照型オブジェクトの場合、readonly 修飾子と volatile 修飾子の両方が参照にのみ適用され、オブジェクトのプロパティには適用されません。それは私が見逃していたものなので、コンパイラは正しいです。
c# - 「揮発性フィールドへの参照は、揮発性として扱われません」という意味
次のコード
次のコンパイラ警告が発生します。
この警告を発するために、ここで何か間違ったことをしていますか? コンパイラ me がこれについて警告するのはなぜですか?