除了加锁,还有什么方法解决资源竞争的问题?

面试题分类: Java除了加锁,还有什么方法解决资源竞争的问题?
匿名用户 asked 1年 ago
laurence0527 管理员 replied 7月 ago

我能想到的有三种方式:
1)原子操作。
2)副本。如ThreadLocal、CopyOnWrite等。
3)不可变。

8 Answers
hellocrest 管理员 answered 1年 ago

感觉队列、自旋锁也都是可以处理资源竞争的问题。

FavoriteLoading添加本文到我的收藏
RockySin 管理员 answered 1年 ago

是用阻塞队列(BlockingQueue)吗?但阻塞队列,原理也还是lock。。

FavoriteLoading添加本文到我的收藏
hellocrest 管理员 answered 1年 ago

嗯,队列、列表、map也都是基于锁来实现的

FavoriteLoading添加本文到我的收藏
asking1233 管理员 answered 1年 ago

 参考CopyOnWrite。可以利用数据拷贝,解决资源竞争问题

FavoriteLoading添加本文到我的收藏
cxman 管理员 answered 1年 ago

补一条,  volatile 加不可变对象 ,某些场景下也可以

FavoriteLoading添加本文到我的收藏

return top