.Net类库:线程责任

问题描述

| 我正在一个类库上工作,其中一个类负责使用Internet上的
XDocument.Load(url)
检索Xml文件。看到此操作可能需要花费几秒钟才能完成,因此有必要在自己的线程上运行它。 创建此线程由谁负责?使用者还是检索文件的类?是否有关于此的最佳实践?     

解决方法

        最佳实践是实现异步模式。这意味着,如果您的类具有
LoadXml
方法,则您还将实现
LoadXmlAsync
方法和某种
OnCompleted
事件。 你可以在这里读到它     ,        我认为这两种选择都很好。它还取决于您将使用此方法在多少地方获取数据。如果在多个地方使用它,则将线程安排在检索文件的类中是很有意义的。 我个人会选择最后一个,因为如果我需要在更多地方使用它(可能稍后),这将给我带来更大的灵活性。 在考虑这个问题时,想到了带前缀的方法BeginDoSomeOperation和EndDoSomeOperation,这将使最后的选择有更多的功劳。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...