問題タブ [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# - C#揮発性ダブル
参照型といくつかのプリミティブ (float は含むが double は含まない、理由はわかりませんが、その理由を聞いてうれしいです) のみが volatile として宣言できるため、クラスで double をラップしてから宣言すると、揮発性として (以下のように)、double プロパティは他の揮発性と同じように「読み書き」スレッドセーフになりますか、それともロックを検討する必要がありますか?
c++ - C ++で揮発性イテレータを宣言する方法
クラスのメンバー変数であり、そのクラスのオブジェクトが const であってもメンバー関数を使用してインクリメントできるイテレーターを宣言する方法はありますか?
c - gccが何かが揮発性であることに同意するかどうかをどうやって知ることができますか?
次のことを考慮してください。
gccがiを揮発性として処理したかどうかを知るにはどうすればよいですか?近くのコードがそれを変更することはなく、何らかの割り込みが原因で変更される可能性があるため、そのように宣言されます。
私は世界最悪のアセンブリプログラマーではありませんが、テレビで再生しています。誰かがそれがどのように異なるかを理解するのを手伝ってもらえますか?
次の愚かなコードを取る場合:
それをオブジェクト形式にコンパイルし、objdumpを介して逆アセンブルし、「volatile」を削除した後に同じことを行います。違いはありません(diffによる)。揮発性宣言は、チェックまたは変更された場所に近すぎますか、それとも揮発性を宣言するときに常に何らかのアトミックタイプを使用する必要がありますか?いくつかの最適化フラグはこれに影響しますか?
注意してください、私の愚かなサンプルは私の質問と完全には一致していません、私はこれを理解しています。私はgccが変数を揮発性として処理したかどうかを調べようとしているだけなので、違いを見つけるために小さなダンプを調べています。
c++ - メンバー関数が const と volatile の両方を一緒にする必要があるのはいつですか?
私は volatile メンバー関数について読んでいて、メンバー関数がconst と volatileの両方になることができるという断言に出くわしました。私はそのようなものの実際の使用を得ませんでした。メンバー関数を const と volatile として一緒に使用する実際の使用に関する経験を共有してください。
同じことをテストするために小さなクラスを書きました:
c# - EventWaitHandleには暗黙のMemoryBarrierがありますか?
このウェブサイトは初めてですので、受け入れられた方法で投稿していない場合はお知らせください。
私は頻繁に以下のサンプルの線に沿って何かをコーディングしました(明確にするためにDisposeのようなものは省略されています)。私の質問は、示されているように揮発性物質が必要ですか?または、Thread.Startを読んだように、ManualResetEvent.Setには暗黙のメモリバリアがありますか?または、明示的なMemoryBarrier呼び出しは、揮発性物質よりも優れていますか?それとも完全に間違っていますか?また、私が見た限りでは、一部の操作での「潜在記憶バリアの動作」が文書化されていないという事実は非常に苛立たしいものですが、これらの操作のリストはどこかにありますか?
ありがとう、トム
:
vb.net - VB.net で volatile に相当するものを指定するにはどうすればよいですか?
メッセージ パッシングに使用する呼び出しキューのロックフリー バージョンを作成しようとしています。これは深刻なことではなく、スレッドについて学ぶためのものです。
命令が並べ替えられているか、レジスタで実行されている場合を除いて、コードが正しいと比較的確信しています。メモリバリアを使用して並べ替えを停止できることはわかっていますが、値がすぐにメモリに書き込まれるようにするにはどうすればよいですか?
c - C では、構造体のメンバーを揮発性としてどのように宣言しますか?
構造体の特定のメンバーを揮発性として宣言するにはどうすればよいですか?
c - C99 の揮発性セマンティクス
私が書いているいくつかの低レベルのコードに問題があります。オブジェクトを揮発性として使用する必要がありますが、(再利用性の理由から) 型を揮発性として宣言する必要があるとは限りません。ただし、次のセグメントで詳しく説明するように、構造体の修飾バリアントへのポインターを定義できます。
これで foo は事実上、次の型のオブジェクトへのポインターになります。
volatile はすべての構造体メンバーに適用されるためです。ここで私の質問は、オブジェクトに別のオブジェクトへのポインターが含まれている場合、揮発性はどのように適用されるのですか?
x の揮発性インスタンスへのポインターは、次のように扱います。
またはとして:
私はC標準を読みましたが、これに関してはあまり明確ではなく、複数の方法で言葉遣いを簡単に解釈できます.