Обновление
Предлагаемый в настоящее время способ запуска Задачи - просто использовать Task.Run ()
Task.Run(() => foo());
Обратите внимание, что этот метод описан как лучший способ запуска задачи см. Здесь
Предыдущий ответ
Мне нравится Фабрика задач из System.Threading.Tasks. Вы можете сделать что-то вроде этого:
Task.Factory.StartNew(() =>
{
// Whatever code you want in your thread
});
Обратите внимание, что фабрика задач предоставляет вам дополнительные удобные опции, такие как ContinueWith :
Task.Factory.StartNew(() => {}).ContinueWith((result) =>
{
// Whatever code should be executed after the newly started thread.
});
Также обратите внимание, что задача - это немного другое понятие, чем потоки. Они хорошо сочетаются с ключевыми словами async / await, см. здесь .