GAE / J Async Datastore API:如何做相当于UNIX的选择?

时间:2012-05-03 03:53:02

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

Java Google App Engine异步数据存储区API提供了一种执行异步读取的方法,然后稍后询问它是否已完成,如果需要,可以使用可选的超时来阻止它。但是,我想要做的一件事我无法找到办法,相当于UNIX选择。

也就是说,我想:

  1. 发出一堆,比方说,读取到数据存储区然后

  2. 进入睡眠状态,直到其中任何一个回来。

  3. 据我所知,API本身需要我循环遍历异步读取返回的Futures并询问isDone()直到其中一个说真;这会耗费我付出的CPU时间而无法使用。

    我是否遗漏了某些内容,或者无法使用GAE / J Async数据存储区API获得UNIX选择的效果?

1 个答案:

答案 0 :(得分:0)

丹和我离线讨论了这个问题。简而言之,目前没有直接的方法可以做到这一点,但app引擎中的java和python都支持线程,所以你可以在userland中轻松完成。更重要的是,go的频道和选择语言原语正是如此,所以它绝对值得一看。