Parallel.For, чтобы не использовать мой основной поток

В моем приложении я хочу, чтобы мой основной поток больше не использовался. Я должен сделать некоторую параллельную обработку, которую я хотел бы сделать различными потоками. Для этого я использую Parallel.For следующим образом

static void SomeMethod()
{
    Console.WriteLine(string.Format("Main Thread ID  before parallel loop ->>>>>>> {0} ", System.Threading.Thread.CurrentThread.ManagedThreadId));
    Parallel.For(0, 10, i =>
    {
        Console.WriteLine(string.Format("Output ->>>>>>> {0} ", System.Threading.Thread.CurrentThread.ManagedThreadId));
    }); 
    Thread.Sleep(100);
    Console.WriteLine(string.Format("Main Thread ID  after parallel loop ->>>>>>> {0} ", System.Threading.Thread.CurrentThread.ManagedThreadId));
}

Как видно из вывода, основной поток использует ThreadID 1, а некоторые потоки из Parallel.For также используют тот же поток.

Main Thread ID  before parallel loop ->>>>>>> 1
Output ->>>>>>> 1
Output ->>>>>>> 1
Output ->>>>>>> 3
Output ->>>>>>> 4
Output ->>>>>>> 4
Output ->>>>>>> 4
Output ->>>>>>> 4
Output ->>>>>>> 5
Output ->>>>>>> 3
Output ->>>>>>> 1
Main Thread ID  after parallel loop ->>>>>>> 1

Есть ли способ убедиться, что что-нибудь в Parallel.For всегда запускается в отдельном потоке, чтобы основной поток всегда был свободен.

Ответы на вопрос(1)

Ваш ответ на вопрос