所以我有 2 个模块 - WebserviceClientmodule 用于从 Web 服务读取数据,ExcelModule 用于将 WebserviceClientmodule 获取的数据写入 excel 工作表。所以我有一个事件暴露在 WebserviceClientmodule 和 ExcelModule 订阅它。我的问题是,这是正确的方法吗,因为如果 ExcelModule 比 WebserviceClientmodule 慢,那么我该如何同步这两个进程?或者有没有其他更好的方法来实现这种生产者消费者问题,这样即使从 Web 服务中获取的数据更快,也不会造成问题?
问问题
101 次
1 回答
0
有多种方法可以实现您的需求。由于您似乎只运行了两个处理相同数据集的线程,因此我将使用 ReadWriterLockSlim 类,但也可以使用 Monitor 类或 Mutexs。在我看来,最容易实现的是 ReadWriterLockSlim 类。
有关 ReadWriterLockSlim 的更多信息:http: //msdn.microsoft.com/en-us/library/system.threading.readerwriterlockslim.aspx
于 2012-09-10T12:21:01.417 回答