Вопрос по c#, multithreading – В чем разница между новым потоком (void Target ()) и новым потоком (новый ThreadStart (void Target ()))?

4

Извините, если об этом уже спрашивали, но я хотел бы получить краткий ответ о различиях между следующими двумя способами. Кажется, VS принимает их обоих как действительный код.

<code>private static void doSomeWork()
{
   //do some work
}

public someClass()
{
   //Thread thread = new Thread(doSomeWork);
   //or
   //Thread thread = new Thread(new ThreadStart(doSomeWork));
}
</code>
возможный дубликатC# Delegate Instantiation vs. Just Passing the Method Reference nawfal
Очень похоже на:stackoverflow.com/questions/2749868/… CodesInChaos
Посмотри наstackoverflow.com/questions/3360555/… Asif Mushtaq

Ваш Ответ

1   ответ
6

Единственное отличие состоит в том, что первый не работает в C # 1. Компилятор C # 2 и более поздних преобразовывает первый во второй.

Группы методов неявно преобразуются в типы делегатов с совместимой сигнатурой. Эта функция называется «(неявное) преобразование группы методов». Иногда вам нужен второй способ для разрешения перегрузки, но здесь это не так.

это было быстро. спасибо, ответ был очень понятным. Kang Min Yoo

Похожие вопросы