マルチスレッドの呼び出しは一例の方法です。安全問題がありますか?
3979 ワード
答えは:
複数のスレッドを同時に呼び出し、同じ例の方法ではどのような現象が発生しますか?渋滞しますかできません属性は安全ですかいいえまとめると、マルチスレッドの呼び出しは一例の同じ方法でスレッドがふさがらないし、データも安全ではない。
複数のスレッドを同時に呼び出し、同じ例の方法ではどのような現象が発生しますか?渋滞しますかできません属性は安全ですかいいえまとめると、マルチスレッドの呼び出しは一例の同じ方法でスレッドがふさがらないし、データも安全ではない。
//
public enum Singleton {
INSTANCE;
private int age = 0;
private Singleton() {
System.out.println(" ");
}
public void whateverMethod() {
try {
Thread.sleep(new Random().nextInt(1000));
} catch (Exception e) {
}
age++;
try {
Thread.sleep(new Random().nextInt(3000));
} catch (Exception e) {
}
System.out.println(age);
}
}
//
class RunnableDemo implements Runnable {
@Override
public void run() {
Singleton.INSTANCE.whateverMethod();
}
public static void main(String[] args) {
for (int i = 0; i < 1000; i++) {
RunnableDemo runnableDemo = new RunnableDemo();
new Thread(runnableDemo).start();
}
}
}