TBo*_*one 5 .net synchronization design-patterns thread-safety
我一直在寻找能够提供同一类的线程安全和不安全版本的模式.这方面的技术方面非常明显.我想是希望找到命名/访问约定等...
所以我在'Systems.Collections'命名空间中到处找到这个模式:
public class WhatEv
{
private class SyncWhatEv : WhatEv
{
// overrides IsSyncronized = true
// overrides whatever else to make it thread safe
}
public virtual bool IsSynchronized
{
get { return false; }
}
public static WhatEv Synchronized(WhatEv whatEv)
{
return new SyncWhatEv(whatEv);
}
}
Run Code Online (Sandbox Code Playgroud)
有许多类实现了这个:HashTable,Queue,ArrayList,Stack等......我理解继承.但是为什么要把它变成一个私有的嵌套类,并让用户跳过一个环节去实现呢?这样做有什么好处吗?
TBo*_*one -1
经过周末的思考,但没有得到进一步的答复。我决定答案是:你们都疯了。提供对象的同步版本的全部目的是为了线程安全,但线程在编译时无法要求对象的线程安全版本。该对象的验证必须在运行时进行,这是......假的。
感谢大家的意见。我很感激。
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |