【问题标题】:GAE/J Async Datastore API: how to do the equivalent of a UNIX select?GAE/J Async Datastore API:如何做相当于 UNIX 选择?
【发布时间】:2012-05-17 03:48:28
【问题描述】:

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

也就是说,我想:

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

  2. 只是去睡觉,直到他们中的任何一个回来。

据我所知,API 要求我只循环通过异步读取返回的 Futures 并询问 isDone() 直到其中一个为真;这会消耗我付出的 CPU 时间。

我是否遗漏了什么,或者无法使用 GAE/J Async Datastore API 获得 UNIX 选择的效果?

【问题讨论】:

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


    【解决方案1】:

    我和丹离线讨论了这个问题。简短的回答是,目前没有直接的方法可以做到这一点,但是应用引擎中的 java 和 python 都支持线程,所以你可以在用户空间中轻松地做到这一点。更重要的是,go 的 channel 和 select 语言原语正是这样做的,所以绝对值得一看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      相关资源
      最近更新 更多