首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >orientDB图形API上的悲观锁

orientDB图形API上的悲观锁
EN

Stack Overflow用户
提问于 2016-10-10 20:14:11
回答 1查看 123关注 0票数 0

我在orientDB中创建了一个系统,在某些情况下,我需要在系统中创建多个线程,将边添加到某个顶点,并更新该顶点的属性。我的问题是,有没有什么方法可以阻止这个顶点上的操作,直到其他线程完成一个代码块,这个块既可以读也可以写?

我的例子我有酒店的顶点和可用房间的数量作为属性,任何预订,我的代码将按照以下顺序工作

1-确保剩余房间大小大于1

2-创建客户顶点的边

3-将可用房间数减少1

EN

回答 1

Stack Overflow用户

发布于 2016-10-10 20:25:44

OrientDB有一个乐观的并发控制系统,但在极少的记录上进行非常高的并发更新时,它可以更有效地锁定记录,以避免重试。您可以自己同步访问,也可以使用存储API进行同步。请注意,这只适用于非远程数据库。

代码语言:javascript
复制
((OStorageEmbedded)db.getStorage()).acquireWriteLock(final ORID iRid)
((OStorageEmbedded)db.getStorage()).acquireSharedLock(final ORID iRid)
((OStorageEmbedded)db.getStorage()).releaseWriteLock(final ORID iRid)
((OStorageEmbedded)db.getStorage()).releaseSharedLock(final ORID iRid)

源代码和用法示例可以在official documentation上找到。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39958070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档