У меня есть два метода, работающих в потоках, используя класс Task
. У меня есть третий метод, который выполняется в основном потоке. Я хочу, чтобы третий метод выполнялся после первого и второго метода. Как это сделать в следующем коде. После Firstmethod()
и Secondmethod()
только Thirdmethod()
быть выполненаКак выполнить третий метод после первого и второго метода в C#
static void Main(string[] args)
{
Task.Factory.StartNew(() => { Firstmethod();
});
Task.Factory.StartNew(() => { Secondmethod();
});
Thirdmethod();
Console.ReadLine();
}
static void Firstmethod()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine(i);
}
}
static void Secondmethod()
{
for (int i = 10; i < 20; i++)
{
Console.WriteLine(i);
}
}
static void Thirdmethod()
{
for (int i = 20; i < 30; i++)
{
Console.WriteLine(i);
}
}
Вам нужно дождаться первой и второй задач. лучше использовать Task.WaitAll –
искать AutoResetEvent/ManualResetEvent – SkryptX
я использую .net 4.0 не 4.5 может любой орган отправить код для выполнения этого – peter