相关疑难解决方法(0)

锁(锁柜)和锁(variable_which_I_am_using)之间的区别

我正在使用C#和.NEt 3.5.OptionA和OptionB有什么区别?

class MyClass
{
    private object m_Locker = new object();
    private Dicionary<string, object> m_Hash = new Dictionary<string, object>();

    public void OptionA()
    {
        lock(m_Locker){ 
          // Do something with the dictionary
        }
    }

    public void OptionB()
    {
        lock(m_Hash){ 
          // Do something with the dictionary
        }
    }       
}
Run Code Online (Sandbox Code Playgroud)

我开始涉足线程化(主要是为多线程应用程序创建缓存,不使用HttpCache类,因为它没有附加到网站上),我在很多例子中都看到了OptionA语法在线看,但我不明白在OptionB上做了什么,如果有的话.

.net c# multithreading

30
推荐指数
3
解决办法
6274
查看次数

条件变量C#/.NET

在我构建条件变量类的过程中,我偶然发现了一个简单的方法,我想与堆栈溢出社区分享.我正在谷歌搜索一小时的大部分时间,并且无法找到一个好的教程或.NET-ish示例感觉正确,希望这对其他人有用.

.net c#

11
推荐指数
3
解决办法
2万
查看次数

从 List 对象中添加和删除项目是否安全?

假设我们有多个线程和一个List负责保存实时数据的公共。我们有一些线程负责将数据添加到列表对象。另一个线程负责从列表对象中获取数据,然后从顶部删除项目。

问题:从 a 的开头删除List并同时在单独的线程中将数据添加到列表的末尾是否安全?List对象是如何实现的?

c# multithreading thread-safety

2
推荐指数
1
解决办法
108
查看次数

标签 统计

c# ×3

.net ×2

multithreading ×2

thread-safety ×1