发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 CQRS
1 2 下一页 Go 2

jive2.1.2中SequenceManager问题,请指教,谢谢!!

2002-12-26 14:39
赞助商链接

jive2.1.2中SequenceManager类产生唯一id方法的主要思想是什么?

2002-12-26 16:16

我有点记不清楚了:
为了防止两个用户同时得到一个ID 比如88, 各自+1后,写入数据库,结果数据库记录ID是89,其实这时应该是90。

jive采取了分段办法防止这个读和写不一致的情况,如果有人读取了ID但是没有更新数据库的ID,那么就另外一个用户就从下一段ID提取,比如88有人读取,那么同时有人再读时,就从88+15开始取ID

2002-12-26 16:23

应该这么解释,为防止并发用户读取,预留一些号码,比如88+15,就是预留15个并发读取.

2002-12-26 16:38

public synchronized long nextUniqueID(){}本身不是就能防止并发吗?

2002-12-26 17:43

这个方法只是保证并发来的用户排队一个个轮流执行nextUniqueID()方法,但是不能保证后一个用户执行nextUniqueID()时,前面一个用户已经执行完成nextUniqueID()

有点饶舌...

2Go 1 2 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com