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

面试题Category: Java除了加锁,还有什么方法解决资源竞争的问题?
Anonymous asked 1 year ago
laurence0527 Staff replied 12 months ago

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

8 Answers
hellocrest Staff answered 1 year ago

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

FavoriteLoading添加本文到我的收藏
RockySin Staff answered 1 year ago

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

FavoriteLoading添加本文到我的收藏
hellocrest Staff answered 1 year ago

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

FavoriteLoading添加本文到我的收藏
asking1233 Staff answered 1 year ago

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

FavoriteLoading添加本文到我的收藏
cxman Staff answered 1 year ago

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

FavoriteLoading添加本文到我的收藏

return top