Я вижу много людей в сообщениях в блогах и здесь на SO, которые либо избегают, либо советуют не использовать этот Threadкласс в последних версиях C # (и я имею в виду, конечно, 4.0+, с добавлением Task& друзей). Еще раньше велись споры о том, что функциональность простого старого потока во многих случаях может быть заменена ThreadPoolклассом.
Кроме того, другие специализированные механизмы делают этот Threadкласс менее привлекательным, например, Timers, заменяя уродливую комбинацию Thread+ Sleep, в то время как для графических интерфейсов у нас есть BackgroundWorkerи т. Д.
Тем не менее, Threadпохоже, что концепция остается очень знакомой для некоторых людей (включая меня), людей, которые, столкнувшись с задачей, предполагающей какое-то параллельное выполнение, сразу переходят к использованию старого доброго Threadкласса. В последнее время я задавался вопросом, не пора ли исправить мои пути.
Итак, мой вопрос: есть ли случаи, когда необходимо или полезно использовать простой старый Threadобъект вместо одной из вышеуказанных конструкций?
64.5k. Довольно впечатляющий результат