腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(1051)
视频
沙龙
1
回答
C#生产者-使用Monitor.Wait和Monitor.Pulse的消费者模式
、
、
、
考虑以下阻塞生产者和使用者线程的实现:{ var products =new List<int>(); lock (
syncRoot
) var counter = 0;(
syncRoot
); }}; lock
浏览 5
提问于2014-01-30
得票数 1
1
回答
(C#)类成员初始化线程安全问题
、
、
比较两种阶级财产抗辩方式(A & B):public class Cache { get { Interlocked.CompareExchange(ref m_
syncRoot
, new object(), nu
浏览 1
提问于2016-03-25
得票数 0
回答已采纳
1
回答
List<T>没有实现
SyncRoot
!
、
、
最近,我在文章中注意到,为了“嵌入式”线程安全起见,应该避免使用
SyncRoot
(每个方法都会锁定私有对象,而不会使用
SyncRoot
属性公开它)。我能理解这一点,而且在这一点上我也有部分同意。问题是类不实现
SyncRoot
属性,即使实现了公开
SyncRoot
属性的接口。我说这是因为密码 list.
SyncRoot
; 错误CS0117:“System.Collections.Gener
浏览 5
提问于2010-11-01
得票数 14
回答已采纳
2
回答
SyncRoot
对象真的是线程安全的吗?
、
、
、
我是
SyncRoot
概念的新手。据我所知,用于锁定的对象应该是私有的。看起来我们可能会因为死锁而失败,因为它不再是私有的。它真的是线程安全的吗? 如果我创建自己的私有锁定机制呢?
浏览 1
提问于2012-01-06
得票数 3
回答已采纳
8
回答
实现线程安全字典的最佳方式是什么?
、
、
、
通过从IDictionary派生并定义一个私有
SyncRoot
对象,我能够在C#中实现线程安全字典:{ private Dictionary<TKey, TValue> d = new Dictionary<TKey, TValue>(); publi
浏览 1
提问于2008-10-01
得票数 110
回答已采纳
4
回答
SyncRoot
模式有什么用?
、
、
、
我正在读一本描述
SyncRoot
模式的c#书籍。它显示了{} {}object
syncRoot
= new object(); {} {lock(
syncRoot
){ ... }但是,我并不真正理
浏览 104
提问于2009-04-08
得票数 71
回答已采纳
2
回答
C# TPL多个列表枚举器一个修饰符而不饥饿
、
、
我有几个线程是通过TPL创建的(可能不相关)。一些线程通过简单地在包含的列表上枚举而不修改任何东西来与特定的对象交互。其他线程从列表中添加或删除项。目前,我在枚举列表的所有代码段周围都有lock语句,而在修改列表的所有代码段周围都有lock语句。重要.有许多解决方案在很多情况下都很好,但很可能对我的解决方案不起作用。在我的申请中,读者的滔滔不绝很有可能永远不会停止--从
浏览 2
提问于2010-12-01
得票数 1
1
回答
有没有办法在C#中将代码标记为非线程安全?
、
、
、
我正在寻找一个竞态条件,我遇到了很多可疑的函数。它们中的大多数都不允许同时从两个线程调用,但很难确保它们不会被调用。运行时可以使用lock指令暂停执行,所以我只需要一个抛出错误的lock。
浏览 1
提问于2013-05-29
得票数 2
回答已采纳
1
回答
瞬变字段上的字段初始化器
、
例如,由于线程安全,用于对象锁定的瞬态字段
syncRoot
就是一个例子:{ private object
syncRoot
= new object(); private object
syncRoot
2; {Test mytestObject = (from Test test in session
浏览 0
提问于2012-11-30
得票数 1
回答已采纳
2
回答
对
SyncRoot
模式的一些澄清:使用此模式的正确方法是什么?
、
、
、
为了避免死锁,我阅读了一些关于
SyncRoot
模式的一般规则。阅读几年前的一个问题(请参阅这个),我想我理解这种模式的某些用法可能是不正确的。但认为,公开私有
SyncRoot
字段与锁定this (参见)一样糟糕,这一点在中也得到了证实。因此,如果我正确理解,当我实现一个非线程安全的数据结构时,由于它可以在多线程上下文中使用,我不应该(实际上,我不能)提供
SyncRoot
属性。但是,我应该让开发人员(将使用此数据结构)承担将其与私有
SyncRoot
对象关联的任务,如下面的示例代码所示。对象都不应通过公共属性公开;换句话说,自
浏览 3
提问于2012-09-14
得票数 8
回答已采纳
1
回答
在c#中命名同步对象以用于争用分析
、
、
、
我目前正在使用锁定对象进行同步,以写入到如下所示的集合中: { lock (enqueueLockObject) incomingMessageQueue.Enqueue(message); } 其中enqueueLockObject是类中的private object。我有几个
浏览 0
提问于2012-01-04
得票数 4
回答已采纳
1
回答
.Net线程化-线程是否会锁定单个锁定对象的所有同步块
、
考虑类中的以下代码片段{ lock(_
syncroot
) // process some shared data lock(_
syncroot
) //
浏览 0
提问于2010-06-25
得票数 1
回答已采纳
1
回答
数组中的反射和递归- StackOverflowException
、
、
、
、
我有两节课:{} {}Customer Customer1 = new Custome
浏览 0
提问于2016-05-22
得票数 2
2
回答
以线程安全的方式枚举列表。
、
、
、
public class MyClass List<MyItem> _list= new List<MyItem>(); return ((IList)_list).
SyncRoot
; } lock(
SyncRoot
) foreach(var item in _
浏览 4
提问于2012-04-10
得票数 1
回答已采纳
1
回答
锁定框架3.5vs4.0?
、
、
、
、
,在这两个版本中,lock是有区别的。还有一个lockTaken标志,它指示是否应该释放锁(在finally子句中)(由于try子句中的失败代码)。bool lockTaken = false;{ ...finally { if (lockTaken) Monitor.Exit (lockObj); }但是通过relfector查看,我看到了完全不同的东
浏览 4
提问于2012-11-29
得票数 1
回答已采纳
2
回答
Queue<T>上的
SyncRoot
是如何/为什么隐藏的?
、
、
我有lock (q.
SyncRoot
) ...我得到了那么,首先,为什么这是隐藏的。其次,如何隐藏正在实现的接口的属性?
浏览 0
提问于2012-10-05
得票数 5
回答已采纳
1
回答
格式化可以在Powershell中包含其他列表的列表
我目前使用的是-property
SyncRoot
,但是在输出中提供了空行和不必要的单词。(1,2)PS H:\> $l += ,@(23,42)2 但我希望输出如下所示:2{23, 42}
浏览 1
提问于2011-02-11
得票数 0
回答已采纳
3
回答
用于IList的
SyncRoot
、
我使用的m_objects.
SyncRoot
{?
浏览 1
提问于2009-12-29
得票数 1
回答已采纳
1
回答
以不同的方式启动和结束锁
、
、
、
、
我想--出于模糊的原因,你不应该质疑--在一个方法中开始一个锁,然后在另一个方法中结束它。不知何故就像:{ { }具有与以下内容相同的行为:{ doThings();} { startLock(
浏览 1
提问于2011-05-31
得票数 7
回答已采纳
2
回答
如何为线程不安全集合编写单元测试
、
、
、
、
为了实现ICollection接口,我的list类必须有几个公共属性(包括IsSynchronized和
SyncRoot
,它们用于提供线程安全的方式供集合使用)。这两个属性的代码非常简单:public object
SyncRoot
{ get { return _
syncRoot
; } } 问题是如何为它编写一个正确
浏览 1
提问于2011-01-24
得票数 3
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券