When we call Parallel.Invoke, do all the threads terminate before the following statements are run? This program tests the joining behavior for these parallel threads.
using System;
using System.Threading.Tasks;
class Program
{
static void Test()
{
Console.WriteLine(
"Test");
}
static void Test2()
{
Console.WriteLine(
"Test2");
}
static void Test3()
{
Console.WriteLine(
"Test3");
}
static void Main()
{
Parallel.Invoke(Test, Test2, Test3);
Console.WriteLine(
"[INTERMEDIATE]");
Parallel.Invoke(Test, Test2, Test3);
}
}
Test
Test3
Test2
[INTERMEDIATE]
Test
Test3
Test2