我想到的情况是使用可以回调python的python扩展模块,因此当greenlet产生时可能会混合使用python和非python堆栈帧。
我假设如果一个模块使用线程本地存储,它很可能与 greenlets 行为不端。
线程安全模块可能不是greenlet安全的还有其他原因吗?
编辑:我真正想知道的是,greenlets 和常规线程的上下文切换方式是否有区别。greenlets 是否采用任何可能适用于 python 但会破坏某些扩展模块的捷径?
我想到的情况是使用可以回调python的python扩展模块,因此当greenlet产生时可能会混合使用python和非python堆栈帧。
我假设如果一个模块使用线程本地存储,它很可能与 greenlets 行为不端。
线程安全模块可能不是greenlet安全的还有其他原因吗?
编辑:我真正想知道的是,greenlets 和常规线程的上下文切换方式是否有区别。greenlets 是否采用任何可能适用于 python 但会破坏某些扩展模块的捷径?