说明:MyObj类为功能函数(加1和减1)以及变量i的存储地方。
这里采用AtomicInteger类来保证一致性
假设每个线程处理3次
public class Main {
public static void main(String[] args){
MyObj myObj = new MyObj();
for(int i=0; i<2; i++){
new Thread(new Runnable() {
@Override
public void run() {
for(int j=0; j<3; j++)
myObj.add();
}
}, "Thread" + i).start();
new Thread(new Runnable() {
@Override
public void run() {
for(int j=0; j<3; j++)
myObj.dec();
}
}, "Thread" + i).start();
}
}
}
class MyObj{
private static AtomicInteger num = new AtomicInteger(0);
public void add(){
num.getAndIncremen