.NET 4.x Как работать с Parallel.ForEach? - C#
Формулировка задачи:
Здравствуйте, прошу помочь тех кто работал с Parallel, не могу засунуть 2 параметра и передать методу ;(
public void thread_s()
{
o.MaxDegreeOfParallelism = 1;
Parallel.ForEach(GetLine(), o,
line => Method(line,""));
}
IEnumerable<string> GetLine()
{
string[] line = null;
if (richTextBox1.InvokeRequired)
{
richTextBox1.Invoke(
new Action(() =>
{
line = richTextBox1.Text.Split('\n');
}
));
}
else
line = richTextBox1.Text.Split('\n');
return line;
}
некто не знает?
Решение задачи: «.NET 4.x Как работать с Parallel.ForEach?»
textual
Листинг программы
static public void thread_s()
{
var o = new ParallelOptions();
o.MaxDegreeOfParallelism = 1;
Parallel.ForEach(GetLine(), o, e => Console.WriteLine("{0}-{1}", e.Item1, e.Item2));
}
static IEnumerable<Tuple<string, string>> GetLine()
{
var xs1 = "a,s,d,f,g,h,j,k,l,w,e,r,t,y".Split(',');
var xs2 = "0,1,2,3,4,5,6,7,8,9,0,1,2,3".Split(',');
return from i in Enumerable.Range(0, xs1.Length)
select new Tuple<string, string>(xs1[i], xs2[i]);
}
static void Main(string[] args)
{
thread_s();
Console.ReadKey();
}