既然 Appengine 不允许 java 多线程,那么我们如何将现有的多线程代码迁移到平台上呢?
例如我有以下代码:
Thread t = new Thread() {
public boolean alive = true;
public void run() {
while (alive) {
try {
Thread.sleep(5000);
getNewNotifications();
} catch (InterruptedException e) {
// Do nothing
} catch (IOException e) {
}
}
}
};
t.start()
函数 getNewNotification() 执行了一些 Rest/HTTP 调用,其中可能包括一些可能无限期返回的其他进程。我已经阅读了Task Queue
解决方案,但是我们如何将这个简单的代码转换为 App 引擎友好的代码?
上面的代码是如何使用任务队列实现的?例如getNewNotifications()
每五秒调用一次。
该函数将从服务器获取一些结果,解析结果,然后根据结果执行它需要执行的活动/工作。