Параллельное программирование для многоядерных процессоров - ответы
Количество вопросов - 108
IEnumerable<T> data = ...; var q = data.Where(x => p(x)).Orderby(x => k(x)).Select(x => f(x)); foreach (var e in q) a(e);
class B { public int x; public B() { } movable Compute() { x = 2; }} class A { public static void Main( String[] args ) { B b = new B(); b.x = 1; Console.WriteLine( "Before: x = " + b.x ); b.Compute(); Console.WriteLine( "After: x = " + b.x ); }}
Parallel.For( 0, size, delegate(int i) { Parallel.For( 0, size, delegate(int j) { result[i, j] = 0; for (int k = 0; k < size; k++) { result[i, j] += m1[i, k] * m2[k, j]; } }); });
Task t1 = Task.Create(delegate { A(); }); Task t2 = Task.Create(delegate { B(); }); Task t3 = Task.Create(delegate { C(); }); t1.Wait(); t2.Wait(); t3.Wait();
IEnumerable<T> Data = …; var query = from x in Data where p(x) orderby k(x) select f(x); foreach (var e in query) func(e);
Data dt; while(queue.TryDequeue(out dt)) { Func(dt); }
Parallel.For( 0, size, delegate(int x) { Parallel.For( 0, size, delegate(int y) { result[x, y] = 0; for (int k = 0; k < size; k++) { result[x, y] += m1[x, k] * m2[k, y]; } }); });