Objectify async:在什么时候进行RPC调用?

时间:2016-02-07 20:37:55

标签: google-app-engine google-cloud-datastore objectify

我经常要做两个或更多独立查询来从Datastore中获取实体。但我不确定它们是否真正平行。例如:

loadResult1 = ofy().load().key(Key.create(Foo.class, 1));
loadResult2 = ofy().load().key(Key.create(Bar.class, 1));

loadResult1.now();
loadResult2.now();

安排这样的代码有什么好处吗?

搜索查询也是如此

iterable1 = ofy().load().type(Foo.class).iterable();
iterable2 = ofy().load().type(Bar.class).iterable();

iterable1.hasNext();
iterable2.hasNext();

iterable2是否会与iterable1并行加载?

附带问题:.iterable()在这方面与.list()有什么不同?

我尝试调试代码,但在调用.now()或第一次调用.next()/.hasNext()之前看起来似乎没有调用。是真的吗?

1 个答案:

答案 0 :(得分:1)

是 - 在实现结果之前,查询将并行异步进行。