【问题标题】:Using global state variables in coroutines?在协程中使用全局状态变量?
【发布时间】:2017-10-20 14:43:01
【问题描述】:

我正在使用 discord.py 库构建一个不和谐机器人 - 因此,所有用户交互都必须在协程中进行,使用 async 定义并使用 await 调用。

我的一个函数需要保存状态变量——计算中使用的时间偏移量,偶尔需要用户手动更新。

我不能在主线程中使用普通的全局变量——协程看不到它们。在多个协程之间保留状态变量的明智设计模式是什么?

【问题讨论】:

    标签: python global-variables coroutine


    【解决方案1】:

    也许你可以使用字典。例如:

    x = {the name of the member:[stored variables]}
    

    你可以改变变量:

    x[variable u want to change] = variable u want to give it
    

    More about dicts

    【讨论】:

      【解决方案2】:

      您可以创建自己的线程安全类来包装状态并像内存数据存储一样使用它

      【讨论】:

      • 这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 2015-06-12
      • 2021-05-17
      相关资源
      最近更新 更多