Понимание потоков и их времени жизни (очистка, удаление, закрытие)

Примечание: я уже прочитал следующие два вопроса:

Можете ли вы объяснить концепцию потоков?

C # с использованием потоков

Я кодирую в C #

Почти во всех примерах кода, использующих потоки, почти всегда вызываются .Dispose (), .Flush (), .Close ().Что происходит в концепции потока?Если я не удаляю поток, который хранил в переменной, мое приложение где-то просачивается?Почему мне нужно вызывать любую из этих функций? Я видел примеры кода, которые не делают этого и все еще выполняют свою работу (безочевидный поломка)

В настоящее время я создаю класс в моем приложении, который содержит основной метод (давайте вызовем егоGetStream()) который возвращает поток черезmyWebRequest.GetResponse().GetResponseStream()

Основной методGetStream() возвращаетStream объект, который можно использовать для любой операции, для которой требуется поток (StreamReader, Bitmap () и т. д.).

Есть ли способ автоматически удалять поток после его последнего использования (сборщик мусора?), Не заставляя никого вызывать.GetStream() вручную утилизировать его?

Как вы, вероятно, можете сказать, мои вопросы расплывчаты и носят общий характер. Мое понимание потоков не является надежным, поэтому любые ссылки на полезные статьи, которые предлагают более углубленный взгляд на потоки, чем может предложить вопрос SO, будут приветствоваться.

Ответы на вопрос(1)

Ваш ответ на вопрос