我从Stackless Python开始,这对我来说是一个全新的惊人世界。 我通常使用常规线程,它们通常具有线程本地存储(TLS) 当您不需要与其他线程共享内存时,这是一个非常有用的功能。
所以,我想知道Stackless Python是否有类似的东西:一种存储本地内存的方法 (给定的tasklet的一个python对象)。这可能吗?
提前致谢。 -f
答案 0 :(得分:1)
解决方案1:可以使用当前的tasklet对象在stackless / greenlet中模拟TLS,该对象通过调用stackless.getcurrent()来检索,以存储其他数据。
解决方案2:如果tasklet不支持添加额外的字段,那么你可以拥有一个全局WeakKeyDictionary实例,该实例将具有作为弱映射的tasklet,而value代表你的TLS。