我经常要做两个或更多独立查询来从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()
之前看起来似乎没有调用。是真的吗?
答案 0 :(得分:1)
是 - 在实现结果之前,查询将并行异步进行。