你两个线程要并发操作一个变量,那么这个变量必须要做同步处理,所以必须先定义一个新的类型,这个类型自带同步处理。 class A { Integer a = 1; public synchronized void add() { a = a + 1; } public synchronized Integer get() { return a; } }然后再定义两个线程类,比如 class XXXX implements Runnable { private A a; public XXXX(A a) { this.a = a; } @Override public void run() { a.add(); } } YYYY的定义类似;那么main函数里面就是这样的: public static void main(String[] args) { A a = new A(); XXXX x = new XXXX(a); YYYY y = new YYYY(a); new Thread(x).start(); new Thread(y).start(); }
class A {
Integer a = 1;
public synchronized void add() {
a = a + 1;
}
public synchronized Integer get() {
return a;
}
}然后再定义两个线程类,比如
class XXXX implements Runnable {
private A a;
public XXXX(A a) {
this.a = a;
}
@Override
public void run() {
a.add();
}
}
YYYY的定义类似;那么main函数里面就是这样的:
public static void main(String[] args) {
A a = new A();
XXXX x = new XXXX(a);
YYYY y = new YYYY(a);
new Thread(x).start();
new Thread(y).start();
}