(面试题)java并发编程中,请问怎么处理死锁及脏数据?

zl40650194 2014-03-17 09:53:36
如题,网上也没找到合适答案啊,求助大牛
顺便求职,j2ee四年
...全文
1022 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hp0632 2014-03-19
  • 打赏
  • 举报
回复
1、首先这个问题是针对模块开发或是组件开发来说,还是对于框架本身,比如使用mvc框架等。 2、对于组件本身不操作数据库的情况下,要做到并发和避免脏数据的话,最重要就是使用java提供的util.current中的一些接口。 比如:currentHashMap / copyOnwriteArrayList // copyOnWriteArraySet 还有进行共享加锁 或称为更粒度化的锁 ReentrantLock等。 3、如果是操作数据库本身的脏数据,那么就要用到乐观锁机制了。
xuan.ye 2014-03-18
  • 打赏
  • 举报
回复
1、页面提交控制,提交后按钮不可用。 2、后台使用事务控制。
tony4geek 2014-03-17
  • 打赏
  • 举报
回复
不同数据库的隔离级别不一样。
S117 2014-03-17
  • 打赏
  • 举报
回复
处理死锁的话,要锁的持有者有一个要放弃自己持有的锁,或者你采用并发控制呀!脏数据就不太清楚了,版本控制?时间戳? 哈哈,其实我也不懂!
kiyoki 2014-03-17
  • 打赏
  • 举报
回复
用框架,用事务,不要自己锁,让框架处理,一切冲突都不关我事
yyfhz 2014-03-17
  • 打赏
  • 举报
回复
这个MS没哟好的办法吧,不要说电脑了,就算是人,大家都要抢同一个橘子的时候,也会把橘子扯烂的。 除非能控制一下,只有一个人拿橘子,其他人都是打酱油,看看的。
zl40650194 2014-03-17
  • 打赏
  • 举报
回复
还有个问题,如果有并发,但是又不能锁数据,怎么避免数据错误
致知Fighting 2014-03-17
  • 打赏
  • 举报
回复
死锁:保证所有的加锁都按照合理的逻辑顺序,依次加锁依次解锁 脏数据:控制共享内存的访问
放纵的青春 2014-03-17
  • 打赏
  • 举报
回复
乐观锁 了解一下

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧