reference-counting 相关问题

引用计数是一种机制,通过该机制,计算机语言可以跟踪您何时创建,然后不再需要对象或数据结构,以释放不需要的内存。传统上,这可以由程序员手动完成。

为什么None对象的引用计数是固定的?

我正在尝试对象的引用计数,我注意到当我将标识符绑定到 None 时,None 对象的引用计数不会改变。我在 python 3.13 版本中观察到了这种行为。 皮斯...

回答 1 投票 0

读取 Arc 内的值的规范方法是什么?

这可能不可能是第一次有人问这个问题,但我一生都找不到这个答案。所以我想问这个问题,希望有人严厉

回答 1 投票 0

DecRef 可以通过 refcount.load(std::memory_order_relaxed) == 1 进行优化吗?

公司参考: refcount.fetch_add(1, std::memory_order_relaxed) 十二月参考: if (refcount.load(std::memory_order_relaxed) == 1 || refcount.fetch_sub(1, std::memory_order_release) == 1) { 标准::

回答 1 投票 0

get_user_pages()获得的页面可以直接回收或者换出,而不使用put_user_pages()吗?

get_user_pages() 增加页面引用计数。这就是为什么它可以将页面固定在内存中。 所以我想知道get_user_pages()获取到的页面是否可以直接回收或者换出

回答 1 投票 0

如何避免 Rc<String> 额外的指针间接寻址?

我正在编写一些使用 Rc 的代码。我很确定使用它会创建一个额外的指针间接寻址,其中有一个指向 Rc 的指针,其中有一个指向 String 的指针,这是......

回答 1 投票 0

如何从采用 &self 的方法克隆 Rc

我有一个结构体 Region,其中包含 [Option>>; 2] 作为其子区域,Option>> 作为其容器。我正在写一个方法...

回答 1 投票 0

Pytest/Mock 保留额外的对象引用,以防捕获异常

我使用pytest和mock遇到了一个奇怪的问题:我试图通过使用del删除一个对象来创建对__del__的调用......根据文档,del只会减少引用

回答 1 投票 0

是否可以在 Rust 中的回调函数内访问变量,而无需引用计数或互斥体?

我是 Rust 的绝对初学者,所以如果我的问题没有用正确的术语表达,我很抱歉,如果需要,我很乐意提供更多说明。 我正在使用 sdl 和 rlua 编写程序。 ...

回答 1 投票 0

IronPython 垃圾收集 - 它如何提供与 C 扩展的兼容性?

在 Larry Hastings 的 GIL 演讲的这一部分中,解释了 Ironclad 如何提供与 IronPython 的 C 扩展兼容性。这是演讲中有趣的部分: 我们实施...

回答 2 投票 0

共享在 Rust 中实现 Trait 的对象

我有一个对象特征,可以从某个索引提供字节。这些可能是文件、正在跟踪的进程、其他字节提供程序上的缓存等: 使用 std::结果::结果; 使用 std::io::Error ;

回答 1 投票 0

使用 RCObject 与静态内联 C++ 进行引用计数

我目前正在阅读 Scott Meyers 的 More effective C++ (1995)。 在第 29 项 - 引用计数中,作者提到使用引用计数的主要好处是 (1)“简化

回答 1 投票 0

Rc 或 Arc 是否有克隆底层值并将其返回给调用者的操作?

我正在寻找大致类似这样的东西,但是原子的: 为 Arc 实现 { fn take(mut self) -> T { Arc::make_mut(&mut self); 弧::try_unwrap(...

回答 3 投票 0

Swift中,如何准确查看类对象在内存中的引用计数?

英语不是我的母语,所以请原谅任何打字错误。我正在为我的问题使用翻译器。 我通过观看“WWDC16 - 了解 Swift 性能”了解到当

回答 0 投票 0

在 Rust 中,Weak<T> 如何知道内部值何时被删除?

std::rc::Weak 具有以下定义: 酒吧结构弱{ ptr: 非空>, } 据我了解,当没有更多的 Rc 时,RcBox&...

回答 1 投票 0

为什么没有循环引用的 Python 对象仍然会被垃圾收集删除?

如果一个函数在循环中创建了很多对象,这些对象在其他地方没有被引用,由于 Python 的引用计数,它们将被立即删除。 如果这次我将对象存储在列表中,...

回答 2 投票 0

TArray Result not always initially () within for loop?

测试结果最初并不总是 () 我发现 Do I need to setLength a dynamic array on initialization?,但是我不完全理解那个答案 更重要的是,什么是最好的...

回答 2 投票 0

C# 引用计数 - 事件呢?

参考https://stackoverflow.com/a/35007736/2323934: 如果对象内部订阅事件怎么办?这样做会创建必须显式销毁的强引用(取消订阅...

回答 0 投票 0

关于内部可变性模式的设计问题[关闭]

我的程序中有一个缓存,其中包含使用 Serde 序列化的数据。 该缓存类型由嵌套类型组成,其中大部分包含 Vec 和 String,因此有很多堆

回答 0 投票 0

如何在 Rust 中存储不同数据以及它们之间的关系

如果需要存储书籍列表和作者列表,其中一本书是由一个作者写的,而一个作者可能写了很多书。如何在 Rust 程序中对其进行编码? 要求...

回答 0 投票 0

为什么getrefcount放在函数里面会加2?

考虑以下代码。 导入系统 一 = [1, 2, 3] 定义 foo(x): 打印(sys.getrefcount(x)) foo(a) # 打印出 4 —— 但为什么呢? 当我们调用 foo(a) 和 print(sys.getrefcount(x)) 执行时...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.