多线程并发问题
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哪个需要加锁?
{
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哪个需要加锁?
...全文
相关推荐
JAVA并发多线程的面试问题及答案-java多线程并发面试题.docx
JAVA并发多线程的面试问题及答案-java多线程并发面试题.docx
多线程并发处理数据的问题
NULL 博文链接:https://baobeituping.iteye.com/blog/841371
基于多线程并发的常见问题(详解)
下面小编就为大家带来一篇基于多线程并发的常见问题(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
多线程并发同步(爸爸妈妈苹果橘子问题,有界面)
图形化实现:多线程并发同步,缓冲区容量为2,爸爸放苹果,妈妈放橘子,儿子吃苹果,女儿吃橘子。 图形化实现:多线程并发同步,缓冲区容量为2,爸爸放苹果,妈妈放橘子,儿子吃苹果,女儿吃橘子。
C#使用读写锁三行代码简单解决多线程并发的问题
本文主要介绍了C#使用读写锁三行代码简单解决多线程并发写入文件时提示“文件正在由另一进程使用,因此该进程无法访问此文件”的问题。需要的朋友可以参考借鉴


Java SE
