double[] arr1, arr2, arr3, arr4;
var task1 = Task.Factory.StartNew(() =>
{
arr1 = new double[0];//вызов функции
});
var task2 = Task.Factory.StartNew(() =>
{
arr2 = new double[0];//вызов функции
});
var task3 = Task.Factory.StartNew(() =>
{
arr3 = new double[0];//вызов функции
});
var task4 = Task.Factory.StartNew(() =>
{
arr4 = new double[0];//вызов функции
});
Task.WaitAll(task1, task2, task3, task4);
{
int res=0, res1=0, res2=0, res3=0, res4=0;
Thread t1 = new Thread(() => {res1 = Plus_2(2); });
Thread t2 = new Thread(() => {res2 = Plus_2(3); });
Thread t3 = new Thread(() => {res3 = Plus_2(4); });
Thread t4 = new Thread(() => {res4 = Plus_2(5); });
//Запускаем вычисление в четыре потока
t1.Start(); t2.Start(); t3.Start();t4.Start();
//Ожидаем завершение всех
t1.Join(); t2.Join(); t3.Join(); t4.Join();
res = res1 + res2 + res3 + res4;// Результат всех вычислений суммируем, в данном случае ответ будет 22
}
static int Plus_2(int a)// метод вычисления
{ int b=2; return a + b;}