Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查Google应用程序引擎python27是否运行线程安全模式?_Python_Multithreading_Google App Engine_Python 2.7 - Fatal编程技术网

如何检查Google应用程序引擎python27是否运行线程安全模式?

如何检查Google应用程序引擎python27是否运行线程安全模式?,python,multithreading,google-app-engine,python-2.7,Python,Multithreading,Google App Engine,Python 2.7,请帮助我们如何检测python27运行时是否在线程安全模式下运行 例如,通知模块不兼容,或在需要时应用线程代码 我想将一些代码作为线程安全的移植到python27,而另一些代码作为非线程安全的移植到python27,但不了解它在Google App Engine中是如何工作的。你所要做的就是更改你的App.yaml,你的App将在线程中运行 threadsafe: true 如果代码不是线程安全的,则不会通知您,这是您必须自己解决的问题。例如,如果您有一个在请求中进行更改的全局变量,那么您可能

请帮助我们如何检测python27运行时是否在线程安全模式下运行

例如,通知模块不兼容,或在需要时应用线程代码


我想将一些代码作为线程安全的移植到python27,而另一些代码作为非线程安全的移植到python27,但不了解它在Google App Engine中是如何工作的。

你所要做的就是更改你的App.yaml,你的App将在线程中运行

threadsafe: true

如果代码不是线程安全的,则不会通知您,这是您必须自己解决的问题。例如,如果您有一个在请求中进行更改的全局变量,那么您可能会遇到问题。但一般来说,它不会抛出错误或任何东西,它只是不一致的,如果您不知道这个概念,您可能会在以后遇到麻烦。

您不能有“一些线程安全,一些线程不安全”。那是不可能的。如果某些代码不是线程安全的,那么所有代码都不是线程安全的。这就是线程安全的工作原理。

我知道如何在python27中切换线程,但不了解限制,例如,如果所有GAE API都是线程安全的,并且需要在没有全局变量的情况下检测线程,我将设置全局变量-如果不可能,手动配置会有小问题。想要在GAE python/2.7上移植GAE python/2.5。@Chameleon没有关于GAE如何使程序线程安全的具体文档。。我想这是一个开始。。只是想知道你的代码是否是线程安全的。。我有分布式或线程编程的经验,所以不需要wiki文章-对我来说太容易了。问题的关键是谷歌应用程序引擎在线程和特定行为方面的局限性。@Chameleon如果你理解的话,那就很好了。。然后您应该了解app.yaml中的那一行只是启用线程或不启用线程的东西。。不会检查您的数据是否正确。。它将只运行线程中的内容。我认为app.yaml中的一行是否运行线程并不是那么简单。为什么第一,它将如何计费,第二,在处理程序中创建的线程的时间跨度是多少(无限或有限),第三,如果使用dn.model或ndb.model的事务是线程安全的还是非线程安全的,第四,内存开销将是多少,它需要什么类型的服务器?您谈论的其他问题并没有回答这个问题。您是对的,线程安全代码不能包含线程安全代码,但线程安全代码不能同时包含这两个代码。GAE只允许非线程安全或线程安全,问题是如何检测它是哪种模式。将大型代码库重写为线程安全的代码是没有意义的,或者在有限的时间内是不可能的——这既不实用也不昂贵。