gpt4 book ai didi

C# 对象池与 Interlocked.Increment

转载 作者:行者123 更新时间:2023-12-03 21:50:41 29 4
gpt4 key购买 nike

我见过很多不错的对象池实现。例如:C# Object Pooling Pattern implementation .

但似乎线程安全的总是使用锁,从不尝试使用 Interlocked.* 操作。

编写一个不允许将对象返回到池中的程序似乎很容易(只是一个带有 Interlocked.Increments 指针的大数组)。但我想不出有什么方法可以编写让您返回对象的方法。有人做过吗?

最佳答案

仔细想想为什么你仍然需要对象池——这里没有讨论被池化的对象。对于大多数对象,使用托管堆将提供必要的功能,而无需在您自己的代码中使用新的池管理器。只有当您的对象封装了难以建立或难以释放的资源时,托管代码中的对象池才值得考虑。

如果您确实需要自己做,那么有一个轻量级的读/写锁可能有助于优化池访问。

http://theburningmonk.com/2010/02/threading-using-readerwriterlockslim/

关于C# 对象池与 Interlocked.Increment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663050/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com