我创建了一个使用SortedDictionary存储和操作数据的类。除了在多线程环境中实现之外,该类非常有用。现在,我希望通过为内部SortedDictionary类编写一个包装类来确保类线程的安全。我想使用Reader-Writer Locks来实现这一点,但就目前而言,我只编写包装类本身就有问题。具体来说,我不知道如何为字典实现Enumerator。这是我现在的全班代码。
public class ConcurrentSortedDictionary<TKey, TValue> : IEnumerable<KeyValuePair<TKey, TValue&
假设我有method1和method2,我希望确保在method1完成后执行method2。代码片段如下所示,但是method2可能在method1之前启动,我如何确保这一点? public void method1(){ }
public void mehthod2(){ }
public void run(){
接下来,破坏函数应该销毁信号量,并释放分配给ReadWriteLock结构的内存。但是,如果另一个线程正在等待锁呢?根据文档,该线程将处于未定义状态。}ReadWriteLock;
/* This function is used to take the state of the lock(ReadWriteLock* lock)lock = malloc(sizeof(ReadWriteLock