Javaで共有変数を定義する方法
Javaでは、共有変数を次のように定義できます。
- この文を日本語にし、ネイティブの言い方に直してください。
public class SharedVariable {
public static int count; // 静态变量
public void increment() {
count++;
}
}
- インスタンス変数の利用:クラス内で定義した変数で、すべてのインスタンスオブジェクトに共有される。クラスのメソッド内であればどこからでも利用できるが、インスタンスオブジェクト経由でアクセスする必要がある。
public class SharedVariable {
public int count; // 实例变量
public void increment() {
count++;
}
}
- 共有オブジェクトを利用する:共有オブジェクトを作成し、それを共有させたいスレッドやメソッドに渡す。複数のスレッドやメソッドは共有オブジェクト経由で共有データにアクセスできる。
public class SharedVariable {
public static void main(String[] args) {
SharedObject sharedObject = new SharedObject(); // 共享对象
Thread thread1 = new Thread(() -> {
sharedObject.increment();
});
Thread thread2 = new Thread(() -> {
sharedObject.increment();
});
thread1.start();
thread2.start();
}
}
class SharedObject {
private int count;
public synchronized void increment() {
count++;
}
}
共有変数の定義方法には、ニーズや場面に応じて、いくつかの一般例があります。