我已經寫了下面的linq語句。但是由於線路太多,處理需要很長的時間。我的CPU有8個內核,但由於運行單線程只使用1個內核。這個LinQ語句可以運行多線程 - 使用更多的cpu核心
所以我很想知道這個最終版本能夠在多線程中運行嗎?
List<string> lstAllLines = File.ReadAllLines("AllLines.txt").ToList();
List<string> lstBannedWords = File.ReadAllLines("allBaddWords.txt").
Select(s => s.ToLowerInvariant()).
Distinct().ToList();
我在問下面的問題。該線可以工作多線程?
List<string> lstFoundBannedWords = lstBannedWords.Where(s => lstAllLines.
SelectMany(ls => ls.ToLowerInvariant().Split(' ')).
Contains(s)).
Distinct().ToList();
C#5,netframework 4.5
看着[PLINQ](http://msdn.microsoft.com/zh-cn/library/dd460688.aspx)?請注意,這無法保證讓任何事情都能更快運行。 –
@AdamHouldsworth還沒有檢查,但讓我看看:) – MonsterMMORPG
http://stackoverflow.com/questions/7582591/how-to-plinq-an-existing-linq-query-with-joins([瞭解加速在PLINQ中](http://msdn.microsoft.com/en-us/library/dd997399.aspx))查詢的代價越高,PLINQ的候選人就越好。 –