Где в данной программе параллельность и асинхронность потоков происходит? - C#
Формулировка задачи:
Уважаемые специалисты, прошу помощи в небольшом разъяснении, срочно нужен ответ на вопрос, где в данной программе параллельность и асинхронность потоков происходит? помогите пожалуйста, пробывал гуглить , всё равно немогу вникнуть, может вы объясните понятнее, заранее спасибо огромное
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static int[] AArray;
static void Min()
{ Thread.Sleep(100);// Метод Sleep обуславаливает приостановление потока, из которого он был вызван на определенный период времени указанный в миллисекундах. Когда приостанавливается один поток, может быть использован другой.
int minValue = AArray.Min();
Console.WriteLine("Минимальное значение: " + minValue);
}
static void Max()
{ Thread.Sleep(100);
int maxValue = AArray.Max();
Console.WriteLine("Максимальное значение: " + maxValue);
}
static int[] Brray()
{
Random rand = new Random();
AArray = new int[100];
for (int i = 0; i < 100; i++)
{
AArray[i] = rand.Next(-50, 50);
Console.WriteLine("{0} элемент: {1}", i, AArray[i]);
}
return AArray;
}
static void Main(string[] args)
{
Console.WriteLine("100 элементов массива:");
Brray();
Thread thread1 = new Thread(() => {
Thread.Sleep(100);
int minValue = AArray.Min();
Console.WriteLine("Минимальное значение: " + minValue);
});
Thread thread2 = new Thread(() => {
Thread.Sleep(100);
int maxValue = AArray.Max();
Console.WriteLine("Максимальное значение: " + maxValue);
});
thread1.Start();//Запуск 1 потока на выполнение(с минимальным значением)
Console.WriteLine("Работа потока 1 завершена");
thread2.Start();//Запуск 2 потока на выполнение(с максимальным значением)
Console.WriteLine("Работа потока 2 завершена");
Console.ReadLine();}}}Решение задачи: «Где в данной программе параллельность и асинхронность потоков происходит?»
textual
Листинг программы
lock