import java.util.ArrayList;
import java.util.List;
/**
* LocalVarReferenceThreadSafe
*/
public class LocalVarReferenceThreadSafe {
public static void main(String[] args) throws InterruptedException {
ThreadUnsafe t = new ThreadUnsafe();
for (int i = 0; i < 200; i++) {
new Thread(() -> {
t.m1();
}).start();
}
Thread.sleep(1000);
}
}
/**
* ThreadUnsafe
*/
class ThreadUnsafe {
private List<Integer> list = new ArrayList<>();
public void m1() {
m2();
m3();
}
private void m2() {
list.add(1);
}
private void m3() {
list.remove(0);
}
}