我有一个多线程程序,我创建一个生成器函数,然后将其传递给新线程.我希望它在本质上是共享/全局的,因此每个线程都可以从生成器获取下一个值.
使用这样的生成器是安全的,还是会遇到从多个线程访问共享生成器的问题/条件?
如果没有,是否有更好的方法来解决问题?我需要一些循环遍历列表的东西,并为任何线程调用它生成下一个值.
我一直在清理我正在扩展的模块中的一些代码,我似乎无法找到Pythonify此代码的方法:
global_next_id = 1
class Obj:
def __init__(self):
global global_next_id
self.id = global_next_id
global_next_id += 1
Run Code Online (Sandbox Code Playgroud)
此代码使用全局id来跟踪类的实例(我也需要self.id内部变量,它需要是一个数字).
任何人都可以建议一种Python化此代码的方法吗?