Stackless Python中的Tasklets本地存储

时间:2011-05-31 21:33:19

标签: python stackless python-stackless

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

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

提前致谢。 -f

1 个答案:

答案 0 :(得分:1)

解决方案1:可以使用当前的tasklet对象在stackless / greenlet中模拟TLS,该对象通过调用stackless.getcurrent()来检索,以存储其他数据。

解决方案2:如果tasklet不支持添加额外的字段,那么你可以拥有一个全局WeakKeyDictionary实例,该实例将具有作为弱映射的tasklet,而value代表你的TLS。

相关问题