C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のvolatileキーワード


C#での同時実行の問題を減らすには、volatileキーワードを使用します。例を見てみましょう。

以下は、パブリック変数にvolatileキーワードを使用する方法です-

class Program {
   public volatile int a;
   public void Program(int _a) {
      i = _i;
   }
}

別の例を見てみましょう。2つの静的変数があります。新しい方法でそれらを設定します-

_out = "Welcome!";
_new = true;

volatile-

を使用する前に、それらを静的として宣言しました
static string _out;
static volatile bool new;

次に、スレッドでメソッドを実行する必要があります-

new Thread(new ThreadStart(volatileFunc)).Start();

揮発性変数の値を読み取る-

if (_new) {
   Console.WriteLine(_out);
}

  1. Javaでの揮発性と一時的な違い

    volatileキーワードは、2つのスレッドが同じ変数を同時に読み書きするマルチスレッド環境で使用されます。 volatileキーワードは、CPUキャッシュではなく、変更をメインメモリに直接フラッシュします。 一方、transientキーワードは、シリアル化中に使用されます。一時としてマークされたフィールドは、シリアル化および逆シリアル化の一部にすることはできません。変数の値を保存したくない場合は、その変数で一時的なキーワードを使用します。 Sr。いいえ。 キー 揮発性 一時的 1 基本 Volatileキーワードは、変更をメインメモリに直接フラッシュするために

  2. thisキーワードを使用して、Javaの静的メンバーを参照できますか?

    いいえ、「これ 「キーワードを使用してクラスの静的メンバーを参照することはできません。これは、「 this ”キーワードは現在のオブジェクトを指します クラスと静的メンバーのオブジェクトを呼び出す必要はありません。クラスの静的メンバーには、オブジェクトを作成せずに直接アクセスできます。 Javaのt。 例 public class StaticTest {    static int a = 50;    static int b;    static void show() {       Syste