c# - System.ServiceModel.Channels.BufferManager 是线程安全的吗?

标签 c# thread-safety buffer-manager

我通过 BufferManager.CreateBufferManager 的静态成员创建了一个缓冲区管理器。这个新创建的 BufferManager 被多个线程使用。

我应该将 lockTakeBuffer()ReturnBuffer() 一起使用还是设计为线程安全的?

最佳答案

内部BufferManager.CreateBufferManager返回 WrappingBufferManager 的实例它不采用任何形式的并发控制,但包装了 SynchronizedPool<T> 的多个实例当 Take() 时采用内部锁定荷兰国际集团一个新的缓冲区。所以从 WrappingBufferManager 的简单性来看,可以安全地假设您的任何锁定都是多余的,并且返回的类实际上是线程安全的。

关于c# - System.ServiceModel.Channels.BufferManager 是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5697154/

相关文章:

c# - Web 开发框架,兼容 .net 3.5 +

c# - 将下拉列表的值传递给 Javascript 变量

c# - 如何清除我使用过一次的 WCF HTTP 客户端的 PooledBufferManager?

c# - ASP.NET 请求扩展类型

c# - 通过 SMTP 服务器以编程方式发送电子邮件

asp.net - 网页中运行的线程

c# - 静态类上的静态方法,这个方法线程安全吗?

java - 线程安全字段,避免读写冲突

.net - BufferManager 的真实用例