1

我有一个自定义 CMS,我在其中使用静态 XElement 作为站点地图。当地图发生更新时,我正在同步编写器线程,但对阅读器不做任何事情,只是让他们在需要时获取 XElement。

在测试中,我认为如果我从读取器线程枚举 XElement,而我在另一个写入线程上更新它,我会得到一个异常。事实并非如此。只是想知道是否有人可以向我解释他们是否发现这种方法有任何重大问题。它似乎不应该是安全的,但到目前为止我的所有测试都表明它是安全的。

4

1 回答 1

0

使用 System.Threading.ReaderWriterLock 来控制对 XElement 的访问。这样,您就可以同步所有读取器和任何写入器,而不会阻塞并发读取活动。

于 2009-06-02T12:52:53.537 回答