class A
{
int i = 0;
List<Integer> a = new ArrayList<Integer>();
int f1(int j) {
return a.get(j);
}
int f2(int j) {
return j + a.get(j);
}
List<Integer> f3() {
return a;
}
List<Integer> f4() {
List<Integer> b = new ArrayList<Integer>();
b.addAll(a);
return b;
}
}
同一个A对象被多线程并发,f1,f2,f3,f4哪个需要加锁?
...全文
58533打赏收藏
多线程并发问题
class A { int i = 0; List a = new ArrayList(); int f1(int j) { return a.get(j); } int f2(int j) { return j + a.get(j); } List f3() { return a; } List f4() { List b = new ArrayList(); b.addAll(a);