在升级弱引用之前是否保证调用 Arc 的析构函数将返回 None


包装

std::sync::Arc值的析构函数(Drop)是否保证在调用对任何其他线程的同一对象的std::sync::Weak引用的upgrade可能导致None之前被调用/完成?

我确实需要这个来确保引用计数值是单例。

No. 您要求的内容需要upgrade在丢弃值时阻止。 一般来说,这是一个坏主意,因为它可能会导致意外位置的死锁。

在不知道自己在做什么的情况下,很难提出更好的解决方案;有问题的共享资源是什么?

最新更新