python - 为 DataClass 创建一个锁定函数
问题描述
我可以像这样简单dataclass
地跟踪我的开关状态
@dataclass
class status:
switch: bool = False
这个类由两个线程使用,所以我想在其他线程更改值时实现变量更改lock
的逻辑。switch
switch
就像是
@dataclass
class status:
lock: bool = False
switch: bool = False
def setattr(self, val):
if self.lock is not False:
self.switch = val
我想知道是否有更好的方法来设置这样的逻辑。我不需要调用上面的方法来检查lock
更改switch
变量的东西。
解决方案
您应该使用现有的“锁定”。例如在线程库中。当您希望一个线程拥有它并使用锁定的资源时,您“获取”了锁。当另一个线程尝试获取锁时,它将阻塞,直到第一个线程释放它。
推荐阅读
- node.js - Sequelize-Oracle 仅返回 100 行,即使限制超过 100
- cuda - Cuda:将一维数组从 CPU 复制到 GPU
- php - 如何在 PHP 中按值对对象数组集合进行排序
- pandas - vote_counts = md[md['vote_count'].notnull()]['vote_count'].astype('int')
- react-apollo - 如何获取整个分页列表/重新获取整个分页列表?
- css - 无法通过遍历
使用scrapy和css来刮 - ruby-on-rails - 如何验证json中的唯一性?
- asp.net-core - GraphQL DotNet 遇到错误请求错误
- r - 字符串在R中将所有列拆分在一起
- android - 无法解决:support-fragment 28.0.0