2014-11-12 2 views
0

Есть StreamReader.Read() метод блокировки, особенно если применяется к NetworkStream?Is StreamReader.Read() метод блокировки?

+1

Это синхронно, если это то, что вы имеете в виду, если вы используете .net 4.5, тогда вы можете использовать 'ReadAync()' –

ответ

4

Да - он блокирует до тех пор, одним из условий последующей не удовлетворяется:

  • Персонаж читается
  • Конец основного потока достигается
  • Основной поток генерирует исключение
+0

В документации указано, что «ReadBlock - это блокирующая версия Read». что означает, что чтение не блокирует. Возможно, существует проблема с определением «блокировки»? http://msdn.microsoft.com/en-us/library/9kstw824(v=vs.110).aspx – sisve

+1

@SimonSvensson: Я считаю, что это версия, которая будет * только * возвращать, когда либо читается столько символов, сколько она был запрошен или достигнут конец потока, т. е. он не вернет «частичный» результат, когда появится потенциально больше данных. –

Смежные вопросы