揮発性変数を別のクラスに渡している間(どちらもスレッドクラスを拡張しています)、このvolatile変数をインポートする必要がありますか?volatile変数を別のクラスに渡すには?
例:
public class A extends Thread{
public volatile int a = 0;
public void run(){
B bObj = new B(a);
a++;
}
}
今のクラスはvolatile変数を受け、揮発性または単にパブリックとしてレシーバ変数を定義する使用する必要がありますか?このように
public class B extends Thread{
public volatile int a;
public B(int a){
this.a =a ;
}
}
ORを次のように定義する必要がありますか?時間または他のいくつかの期間にわたって変数を交換両方のクラスと
public class B extends Thread{
public int a;
public B(int a){
this.a =a ;
}
}
。
ご協力いただきまして誠にありがとうございます。ありがとう
_volatileオブジェクト_のようなものはありません。それはその価値ではなく、「揮発性」である変数です。 –
私は揮発性変数を意味しました。ごめんなさい。今すぐ編集します。 –
それでも、メソッド引数は値であり、変数ではありません。変数(または引数式)は、値を生成するために評価されます。 _volatile_は値に適用されません。 –