Я - большой поклонник книги Francesco Balena" Практические Инструкции и Лучшие практики для VB и Разработчиков C# ".
Это очень подробно и затрагивает все существенные темы, Это только дает Вам правило, но также и объясняет причину позади правила, и даже предоставляет антиправило, где могло быть две противостоящих лучших практики. Единственный недостаток - то, что это было записано для.NET 1,1 разработчика.
Что будет делать удаление объекта Thread
? «Ресурс» в этом случае имеет свою естественную очистку - чистовую обработку резьбы. Обратите внимание, что также отсутствует чувство владения ... внутри исполняемого потока вы всегда можете использовать Thread.CurrentThread
, так что только этот поток действительно сможет претендовать на какое-либо владение.
В основном я думаю Поток
- это несколько необычный случай - у базового ресурса есть время жизни, но это не то, что нужно очищать явно.
Вероятно, это потому, что вы не можете удалить потока. Вместо этого вы можете попросить его умереть, используя Abort ()
или что-то подобное.
Это своего рода вопрос проектирования, поэтому любой, кто не участвовал в создании этого аспекта .NET, может только строить догадки. При этом это сообщение в блоге дает хорошее замечание:
... реализация IDisposable не будет иметь никакого значения, по крайней мере, в текущей реализации Thread. Я увеличил количество создаваемых потоков, и счетчик дескрипторов в какой-то момент уменьшился, поэтому есть какой-то механизм для их закрытия
Потоки естественным образом очищаются за собой, поэтому они не являются ресурсом, которым нужно управлять в обычном режиме. смысл.