我有一个ASP MVC控制器联系了一堆http-站点在一个for-循环.比如:
foreach(string provider in providers){
// get data from asomehttp URL
}
这需要大约4秒的时间.
我试过:
Parallel.ForEach(providers, (provider) => {
// get data from some http URL
});
而且我没有看到任何表现上的提高!
为什么会这样呢?
我想将一个对象( B )转换为另一个对象(A)类型,并根据一些与对象B无关的预定义条件,用一些值填充A的一些属性。我已经使用了Convert-all方法。它起作用了。但是,我这里的问题是,我如何使用并行编程,或者使用并行for-each转换是否有意义。除了聚合和计算之外,在Asp.net MVC4应用程序中,我们可以进行并行编程的所有实时场景都有哪些。
有时,我需要一个测试方法由N个线程同时执行(就像在ASP.NET代码中发生的那样)。
有没有一种简单的方法可以用Task Library做到这一点?
[TestMethod()]
public void DoSomethingTest()
{
// Do something which has concurrency issues i.e. database, IO, ...
DoSomething();
}
// Something like:
[TestMethod()]
public void DoSomethingTest()
{
int n = 1000;
我和一位同事讨论了MongoDB连接器在Hadoop中的使用问题,他解释说这是非常低效的。他说,MongoDB连接器使用它自己的映射减少,然后使用Hadoop映射减少,这在内部减缓整个系统。
如果是这样,那么将我的数据传输到Hadoop集群的最有效方法是什么?如果MongoDB连接器效率更低,它有什么用途?在我的场景中,我希望从MongoDB (大约10 my )获取每日插入的数据,并将其全部放入Hadoop中。我还应该指出,每个MongoDB节点和Hadoop节点都共享相同的服务器。