无堆栈Python中的Tasklets本地存储



我从Stackless Python开始,所以这对我来说是一个全新的神奇世界。我通常使用常规线程,它们通常具有线程本地存储(TLS)当您不需要与其他线程共享内存时,是一个非常有用的功能。

所以,我想知道Stackless Python是否有类似的东西:一种存储本地内存的方法(python对象)。这可能吗?

提前谢谢。-f

Solution1:TLS可以在stackless/greenlet中使用当前tasklet对象来模拟,该对象通过调用stackless.getcurrent()来检索,以存储额外的数据。

解决方案2:如果tasklet不支持添加额外的字段,那么您可以拥有一个全局WeakKeyDictionary实例,该实例将tasklet作为weakref密钥,值表示TLS。

最新更新