Мартин абсолютно правильно заявляет, что вы не можете перезапустить поток после его завершения. Тем не менее, я хотел бы отметить, что для тех случаев, когда вы знаете, что вам нужно будет выполнять некоторые задачи снова и снова, вы должны изучить то, что называется «пул потоков».
По сути, пулы потоков состоят из нескольких потоков, которые живы и ожидают работы. Когда вам нужно выполнить задачу, вы просто назначаете свою рабочую задачу одному такому потоку, и когда поток завершает поток, он возвращается в состояние ожидания работы . Этот метод может значительно повысить производительность, поскольку создание потоков приводит к снижению производительности.
Для получения дополнительной информации о пуле собственных потоков Windows вы можете запустить здесь , но вы также можете реализовать свои собственные пулы потоков, если вашему приложению требуется функциональность, недоступная в API пула потоков Windows.
В качестве примечания, пул потоков также поддерживается и настоятельно рекомендуется в .NET Framework.