Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.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
Python twisted.web的threading.local等效物?_Python_Twisted_Twisted.web - Fatal编程技术网

Python twisted.web的threading.local等效物?

Python twisted.web的threading.local等效物?,python,twisted,twisted.web,Python,Twisted,Twisted.web,在异步环境中,threading.local不再保证是本地上下文,因为多个上下文可能共存于单个线程中。大多数异步框架(gevent、eventlet)都提供了get\u current\u context()功能来识别当前上下文。有些提供了一种monkey patch线程的方法。local因此它是“greenthreads”或其他特定于框架的上下文的本地。我在twisted文档中找不到这样的功能。如何做到这一点?我假设您需要此API以保存和检索每个请求的状态。如果没有,那么你可能想澄清你的问题

在异步环境中,
threading.local
不再保证是本地上下文,因为多个上下文可能共存于单个线程中。大多数异步框架(gevent、eventlet)都提供了
get\u current\u context()
功能来识别当前上下文。有些提供了一种monkey patch
线程的方法。local
因此它是“greenthreads”或其他特定于框架的上下文的本地。我在twisted文档中找不到这样的功能。如何做到这一点?

我假设您需要此API以保存和检索每个请求的状态。如果没有,那么你可能想澄清你的问题

Twisted Web不提供与此相关的任何API。由于您可以控制请求的整个生命周期,所以您可以自己存储每个请求的任何状态:在
Resource
实例上,在本地,在回调的参数中,等等。
get\u current\u context
函数类似于使用全局函数跟踪状态的多线程功能。当你这样想的时候,希望有一个更明显的原因,你可能想考虑替代的解决方案。