reference-counting 相关问题

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

如何从采用 &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

在第一个线程到达时构造资源并在最后一个线程离开时销毁的设计模式

我正在寻找 C++ 中的并发设计模式,它使单个资源实例能够由需要它的第一个线程构建,只要至少有一个线程正在访问就持续存在...

回答 0 投票 0

为什么新的Python变量的引用计数为108? [重复]

我一直在尝试sys.getrefcount(),并发现了一件奇怪的事情。为什么此脚本输出108而不是预期的2(单个引用+ getrefcount()的参数)? import sys x = 1 ...

回答 1 投票 0

为什么Python中的引用循环会阻止引用计数变为0?

在下面的代码中,名为a的对象是其自身的属性,这将创建一个参考循环。 class MyClass(object):传递a = MyClass()a.obj = a如果要随后调用del a,则我...

回答 1 投票 1

为什么这种竞争条件仅在-O3且仅在某些看似等效的代码顺序下发生?

我实现了一个不可变的哈希图和附带的STM容器,它受clojure原子的启发,也就是说,类似于C ++的std :: unique_ptr,因为它可以管理(但不一定是...

回答 1 投票 -1

如何在检查已经借用的字段时创建具有引用计数的引用的值?

[我正在尝试创建一个可变结构B,该结构存储其他结构A的实例,这些实例包含对B的引用。我想要一个实现方式,使得对原始B所做的任何更改都可以传播到...

回答 1 投票 0

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