Wal*_*ssa 8 .net c# thread-safety
我使用反射器来查看通用字典集合的代码(Dictionary <TKey,TValue>)并修改该代码以使其线程安全.我想在我的博客上发布这些代码,以便其他人可以查看它(并告诉我,如果我做错了),并且如果他们想要的话也可以在他们的项目中使用它.从法律上讲,我是否允许这样做?我大量修改了原始代码(并且只从原始代码中采用了一些方法而不是整个代码)但基本代码仍然相同,如果我这样做可能会有任何潜在的法律问题吗?
注意:以防有些人会指向线程安全字典的实现,我知道已经有使用ReaderWriterLockSlim的线程安全字典的实现,但我不想在阅读时(仅在写作时)锁定,除了我使用.net 2.0而不是3.5,所以无论如何我都不能使用ReaderWriterLockSlim,我也读到了2.0中ReaderWriterLock的性能非常差,所以我不想使用它.
Jb *_*ain 12
Microsoft的Dictionary源代码由Microsoft Reference Source License的修改版本管理,它基本上只允许您读取代码.所以不,绝对不允许您根据此许可证重新分发修改后的代码.
另一方面,您可以使用Mono的Dictionary <K,V>实现并修改它以满足您的需求,因为它是在MIT/X11下获得许可的.与.net中的相比,它表现得相当不错.