首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >com.tinkerpop.blueprints.Graph对象线程安全吗?

com.tinkerpop.blueprints.Graph对象线程安全吗?
EN

Stack Overflow用户
提问于 2015-02-02 00:57:48
回答 1查看 441关注 0票数 1

我有一个用例,在这个用例中,我从多个数据存储中检索到的数据构建了一个图表。每个数据存储都有自己的客户端库,该库构建表示特定数据存储数据的子图

当前实现,因为,我没有任何并发需求,我在服务层中构建了一个图对象,并将其传递给每个客户端库,它们将使用相同的图形实例

新实现--满足SLA

为了满足SLA,我想同时从这些数据存储中提取数据。

  1. 在这个场景中,每个客户端库是否可以使用从服务层传递的相同图形实例来构建子图?
  2. 还是有更好的方法来处理这件事?

编辑

如何使用对象

  1. 客户端发送REST请求来提取person数据
  2. 个人数据存储在三个不同的数据存储区中。
  3. 服务层创建了一个com.tinkerpop.blueprints.impls.tg.TinkerGraph的实例,在3个不同的线程之间共享,同时在3个不同的线程上从3个不同的存储中提取数据。每个线程还负责将数据添加到共享图实例中。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-03 13:48:13

这取决于Graph接口的实现。例如,如果您使用的是TinkerGraph,它不能保证线程安全。Neo4jGraph使用一个ThreadLocal变量来管理事务,这意味着您可以使用多个线程共享同一个Neo4jGraph实例,而不会有任何问题。蓝图还允许通过ThreadedTransactionalGraph进行多线程事务处理。

https://github.com/tinkerpop/blueprints/wiki/Graph-Transactions#threadedtransactionalgraph-and-multi-threads-for-one-transaction

但是您必须找到一个支持该函数的Graph

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

https://stackoverflow.com/questions/28269763

复制
相关文章

相似问题

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