草庐IT

C++并行排序

全部标签

c# - IO绑定(bind)操作的并行执行

我已通读TPL和任务库文档。但是,我仍然不能很清楚地理解下面的案例,现在我需要实现它。我会简化我的情况。我有一个IEnumerable长度为1000。我必须使用HttpClient为他们提出请求.我有两个问题。没有太多的计算,只是在等待Http请求。这种情况下我还能用Parallel.Foreach()吗??如果使用Task相反,创建大量它们的最佳实践是什么?假设我使用Task.Factory.StartNew()并将这些任务添加到列表中并等待所有任务。是否有控制最大任务数和最大HttpClient的功能(例如TPL分区程序)我可以创作吗?SO上有几个类似的问题,但没有人提到最大值。要

c# 对 List<KeyValuePair<int, string>> 进行排序

在C#中,我想对List>进行排序按列表中每个字符串的长度。在Psuedo-Java中,这将是匿名的,看起来像这样:Collections.Sort(someList,newComparator>({publicintcompare(KeyValuePairs1,KeyValuePairs2){return(s1.Value.Length>s2.Value.Length)?1:0;//specifymysortingcriteriahere}});如何获得上述功能? 最佳答案 C#中的等效项是使用lambda表达式和Sort方法:s

c# - DataGridView 自动排序在数据源绑定(bind)时不起作用

我的问题是:当我将数据源绑定(bind)到DataGridView时BindingListcontracts=newBindingList(Contract.GetAll());dgEndingContracts.DataSource=contracts.Where(c=>c.ExpirationDate并将每一列设置为SortMode=DataGridViewColumnSortMode.Automatic当我单击dataGridView标题行时,它没有排序。但是当我手动创建每一列,创建并填充dataGridView的每一行数据,并将列排序模式设置为自动时,排序工作正常。有什么区别以

c# - 您可以使用 LINQ 或 LAMBDA 表达式对一行中的字符串进行反向排序吗

并不是说我想实际使用它(出于多种原因),但出于严格的好奇心,我想知道是否有一种方法可以在一行中使用LINQ和/或LAMBDA表达式来反转字符串的顺序代码,不使用任何框架“反向”方法。例如stringvalue="reverseme";stringreversedValue=(....);并且reversedValue将导致“emesrever”编辑显然这是一个不切实际的问题/解决方案,我知道这一点,所以不要担心这完全是一个围绕LINQ/LAMBDA构造的好奇心问题。 最佳答案 好吧,即使不使用LINQ或lambda,我也可以在很长的

c# - 如何在 Visual Studio 2010 中并行化数据驱动的单元测试?

我知道常规的MS-Test单元测试可以通过在.testresults文件中指定parallelTestCount属性在多核机器上并行化(当然有警告)测试解决方案。像这样,MSDN上的更多信息:ExecutingUnitTestsinparallelonamulti-CPU/coremachine但是,我有一个数据驱动的测试,像这样,这只是一个测试,但输入来自csv并运行1000条记录通过相同测试。[DeploymentItem("InputDataRows.csv"),Timeout(37800000),DataSource("Microsoft.VisualStudio.TestTo

c# - 了解 VS2010 C# 并行分析结果

我有一个包含许多独立计算的程序,所以我决定将其并行化。我使用Parallel.For/Each。双核机器的结果还不错-大多数时候CPU利用率约为80%-90%。然而,对于双Xeon机器(即8核),尽管程序在并行部分花费了相当多的时间(有时超过10秒),但我只获得了大约30%-40%的CPU利用率,而且我看到它采用与串行部分相比,这些部分中的线程多了大约20-30个。每个线程都需要超过1秒的时间才能完成,所以我认为它们没有理由不并行工作-除非存在同步问题。我用了VS2010自带的profiler,结果很奇怪。即使我只在一个地方使用锁,分析器报告说大约85%的程序时间花在了同步上(还有5-

c# - 添加自动筛选和排序会导致 Excel 崩溃

我正在开发一个应用程序,您可以在其中使用OpenXML将一些数据导出到Excel文件。除自动过滤器外,一切正常。这个想法是向数据的主体添加一个自动过滤器,以便用户自动拥有对数据进行过滤和排序的控件。所以在代码中,我做了这样的事情:varfilter=newAutoFilter(){Reference=string.Format("{0}:{1}",topLeftCellReference,bottomRightCellReference)};worksheet.AppendChild(filter);在导出的XLSX中,它看起来像这样:它被添加到sheetData和mergeCells

c# - AutoMapper Project().To() 并对子集合进行排序

我有一个对象图,我正在使用EFCodeFirst和AutoMapper从数据库加载到DTO:-publicclassFoo{publicintId{get;set;}publicvirtualICollectionBars{get;set;}}publicclassBar{publicintId{get;set;}publicintFooId{get;set;}publicvirtualFooFoo{get;set;}publicstringName{get;set;}publicintSortOrder{get;set;}}publicclassFooDto{publicIEnume

c# - 并行运行多个 EntityFramework 数据库查询

我正在尝试并行运行3个数据库查询,但我不确定我的操作是否正确。我创建了3个函数,每个函数都对数据库进行查询。privatestaticasyncTaskgetAccountCodeAsync(stringdeviceId){longdeviceIdLong=long.Parse(deviceId);using(vardb=newNetworksEntities()){returndb.Devices.Where(x=>x.DeviceId==deviceIdLong).Select(x=>x.AccountCode).FirstOrDefault();}}privatestaticas

c# - .NET 的 Array.Sort() 方法使用哪种排序算法?

.NET的Array.Sort()方法使用了哪种排序算法? 最佳答案 Array.Sort()根据输入的大小选择三种排序算法之一:如果大小小于16个元素,则使用插入排序算法。如果大小超过2*log^N,其中N是输入数组的范围,它使用堆排序算法。否则,它使用快速排序算法来源:Array.Sort(Array)MethodonMSDN. 关于c#-.NET的Array.Sort()方法使用哪种排序算法?,我们在StackOverflow上找到一个类似的问题: ht