Нужно ли мне убивать нить, написанную так? Или это автоматически закончится?
Используя код, подобный приведенному ниже коду, новый поток будет создан самостоятельно после возвращения функции?
new Thread(() =>
{
function();
}).Start();
Я новичок в потоковом режиме, поэтому я подумал.
Ответ 1
Это хорошо... если это беспокоит то, что Thread может не завершиться до завершения вашего исполняемого файла, вам может понадобиться:
new Thread(() =>
{
function();
}){IsBackground = true}.Start();
Фоновые потоки не будут препятствовать выходу вашего приложения.
Ответ 2
Да, поток завершится после завершения функции, но если у вас нет параметра, который нужно использовать внутри функции, я бы не начал ее так; Я бы просто сделал:
new Thread(function).Start();
Ответ 3
Несмотря на то, что для управления вашими потоками считается лучшей практикой, если вас не интересует результат/состояние этого потока и не нужно разбираться с отменой и т.д., то что вы делаете хорошо.
Стоит подумать, нужен ли вам выделенный поток для того, что вы делаете. Если код, который вы используете, относительно невелик, вы можете рассмотреть возможность использования ThreadPool с помощью TPL или QueueUserWorkItem.