سلام وقت بخیر
میخوام برنامه در حالت متد۲ و همزمان اجرا بشه ولی خروجی رو خراب نکنه و خروجی شبیه متد۱ باشه. باید چکارش کنم؟
تشکر
class Program
{
public static void Main(string[] args)
{
Method1();
Method2();
Console.ReadKey();
}
public static void Method1()
{
Console.WriteLine("***First Method***");
for (int i = 0; i < 5; i++)
{
Thread.Sleep(2000);
Console.WriteLine("counter=>{0}", i);
}
Console.WriteLine("**********************\n\n");
}
public static void Method2()
{
Console.WriteLine("***Second Method***");
List<Task> tasks = new List<Task>();
for (int i = 0; i < 5; i++)
{
tasks.Add(Task.Factory.StartNew(() =>
{
Thread.Sleep(2000);
Console.WriteLine("counter=>{0}",i);
}));
}
Task.WaitAll(tasks.ToArray());
}
}
//--------------------------خروجیها------------------------------
***First Method***
counter=>0
counter=>1
counter=>2
counter=>3
counter=>4
**********************
***Second Method***
counter=>5
counter=>5
counter=>5
counter=>5
counter=>5