Java-同步与效率的平衡点问题

小组聊天灌水 小组聊天灌水 主题:993 回复:2175

Java-同步与效率的平衡点问题

归属感 发布于 2017-10-23 字数 290 浏览 1060 回复 1

在项目开发中,对于原子操作,我们经常会遇到同步的问题,对对象或者代码块加锁,来进行原子操作,(比如加上synchronized或者lock),但是这样会造成效率的牺牲,有什么其他的办法来在效率和同步之间做一个平衡点么?即保证了同步,效率上也不会下降太多,或者在可接受的范围中。大家有什么自己的想法么?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(1

泛泛之交 2017-10-24 1 楼

其实在项目中,我们其实可以避免非常多的同步问题。

空间的隔离,避免状态(变量)共享。
是否可以考虑异步?

对于无法避免的同步问题,我们可以

让原子操作尽可能的简单,高效,减少lock时间。
读写锁分离
将数据分块,各个小分块使用不同的锁,分块的粒度越细,就越能减少锁定带来影响。