1
12
除了在Google App Engine中生成线程外,还有一种有限的替代方法,称为任务队列: http://code.google.com/appengine/docs/python/taskqueue/ 编辑 从 http://code.google.com/appengine/docs/java/runtime.html#The_Sandbox
正如其他人指出的,由于安全原因,不支持线程来沙盒应用程序。 googleappengine中还有许多其他限制,迫使开发者创建可伸缩的应用程序。我认为任务队列只是这些限制中的另一个,因为与在处理HTTP请求的当前计算机上创建线程不同,任务被放入队列中,然后可以在队列中调度并由其他计算机执行。任务队列允许以可伸缩的方式在机器之间共享和分配工作。 |
2
7
appengine使用了一个基于请求的执行模型,也就是说,所有的工作都限定在一个请求的范围内,不管是面对一个请求的用户,还是由另一个系统(如任务队列)初始化的用户。虽然可以在这种环境中使用线程,但多线程非常有用的大多数用例都涉及到长时间运行的进程(App Engine不是为这些进程而设计的),或者离线工作,在这种情况下,最好使用App Engine提供的可伸缩设施,如任务队列。
|
3
3
我认为这是一个误导性的问题。应用程序引擎不允许应用程序生成线程,但应用程序引擎可能会启动应用程序的多个实例,或者使用某种线程或多进程请求处理程序。我不知道具体细节,但如果没有某种并行性,应用程序引擎将是一个非常无用的平台。
我最初的回答错误地暗示线程不是一个有用的特性,它们有很多用途,但是大多数web开发人员并不在他们的应用程序中管理线程。线程通常在应用程序堆栈的较低级别进行管理。 |
4
2
|
5
2
自提出此问题以来推出的一个新功能是 background threads . 虽然常规线程在给定请求结束时加入(它们不能超过请求),但后台线程没有此限制。
示例代码:
|
6
0
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
rhymes · 如何让线程操作相同的java列表 2 年前 |