Примечание. Я уже прочитал следующие два вопроса:
Можете ли вы объяснить концепцию потоков?
Я кодирую в С#
- Почти во всех примерах кода, использующих потоки, всегда вызываются .Dispose(),.Flush(),.Close().
- В концепции потока, что делает?
- Если я не размещаю поток, который я хранил в переменной, то где-то мое приложение течет?
- Почему мне нужно вызвать любую из этих функций? Я видел образцы кода, которые этого не делают, и все еще выполняют свою работу (без обрыва очевидного)
В настоящее время я создаю класс в своем приложении, который содержит первичный метод (позволяет вызвать его GetStream()
), который возвращает поток через myWebRequest.GetResponse().GetResponseStream()
Основной метод GetStream()
возвращает объект Stream
, который может использоваться для любой операции, требующей потока (StreamReader, Bitmap() и т.д.).
Есть ли способ, чтобы поток удалялся автоматически после его последнего использования (сборщик мусора?), не заставляя кого-либо, который называет .GetStream()
, вручную распоряжаться им?
Как вы, наверное, можете сказать, мои вопросы расплывчаты и общие. Мое понимание потоков не является твердым, поэтому любые ссылки на полезные статьи, которые предлагают более глубокий взгляд на потоки, чем предлагаемый вопрос SO, могут быть оценены.