问题描述
|
我从Stackless Python开始,所以这对我来说是一个全新的世界。
我通常使用常规线程,并且它们通常具有线程本地存储(TLS),
当您不需要与其他线程共享内存时,此功能非常有用。
因此,我想知道Stackless Python是否具有类似的功能:一种存储本地内存的方法
(一个python对象)用于给定的tasklet。那可能吗?
提前致谢。
-F
解决方法
解决方案1:TLS可以使用当前tasklet对象在stackless / greenlet中进行仿真,并通过调用stackless.getcurrent()来检索TLS,以存储其他数据。
解决方案2:如果tasklet不支持添加额外的字段,那么您可以拥有一个全局WeakKeyDictionary实例,该实例将具有taskref作为weakref键,并且值表示您的TLS。