Нужно ли мне убивать нить, написанную так? Или это автоматически закончится?

Используя код, подобный приведенному ниже коду, новый поток будет создан самостоятельно после возвращения функции?

new Thread(() =>
{
    function();
}).Start();

Я новичок в потоковом режиме, поэтому я подумал.

Ответы

Ответ 1

Это хорошо... если это беспокоит то, что Thread может не завершиться до завершения вашего исполняемого файла, вам может понадобиться:

new Thread(() =>
    {
        function();
    }){IsBackground = true}.Start();

Фоновые потоки не будут препятствовать выходу вашего приложения.

Ответ 2

Да, поток завершится после завершения функции, но если у вас нет параметра, который нужно использовать внутри функции, я бы не начал ее так; Я бы просто сделал:

new Thread(function).Start();

Ответ 3

Несмотря на то, что для управления вашими потоками считается лучшей практикой, если вас не интересует результат/состояние этого потока и не нужно разбираться с отменой и т.д., то что вы делаете хорошо.

Стоит подумать, нужен ли вам выделенный поток для того, что вы делаете. Если код, который вы используете, относительно невелик, вы можете рассмотреть возможность использования ThreadPool с помощью TPL или QueueUserWorkItem.