PyPy GIL是RPython中PyPy解释器实现的一部分,还是translate.py自动添加的东西?也就是说,如果我要在RPython中编写我自己的新语言解释器并通过translate.py运行它,它是否会先于GIL,或者这取决于我的解释器代码?
PyPy GIL是RPython中PyPy解释器实现的一部分,还是translate.py自动添加的东西?也就是说,如果我要在RPython中编写我自己的新语言解释器并通过translate.py运行它,它是否会先于GIL,或者这取决于我的解释器代码?
GIP处理由PyPy checkout中的module / thread / gil.py插入。它是一个可选的转换功能,只有在启用线程模块时才会添加它。也就是说,RPython本身不是一种线程安全的语言(比如C),所以你需要自己正确地锁定对象,这样它们就不会出现不一致的情况。主要问题是提供一个线程感知垃圾收集器,因为我们现在使用的垃圾收集器不是线程安全的,只是添加一个锁将从自由线程模型中移除许多好处。
干杯, fijal
GIP处理由PyPy checkout中的module / thread / gil.py插入。它是一个可选的转换功能,只有在启用线程模块时才会添加它。也就是说,RPython本身不是一种线程安全的语言(比如C),所以你需要自己正确地锁定对象,这样它们就不会出现不一致的情况。主要问题是提供一个线程感知垃圾收集器,因为我们现在使用的垃圾收集器不是线程安全的,只是添加一个锁将从自由线程模型中移除许多好处。
干杯, fijal