Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Непонятно с async-await в C# - 2

04.09.21 11:27
Re: Непонятно с async-await в C# - 2
 
alex445 свой человек
в ответ AlexNek 04.09.21 10:35, Последний раз изменено 04.09.21 11:36 (alex445)
Ну закон сохранения энергии и тут работает. спок

Т.е. вы согласны с моей идеей, что при таком подходе к списку можно без синхронизаций и блокировок обойтись?


А теперь тоже самое, но с маленьким дополнением: количество элементов массива-буфера не должно превышать N.

Так я и так не читаю больше, чем dataReadSize.


Если из потока, то я считывал так - здесь буфер каждый раз разной длины:


while (_doWork)
{
    Thread.Sleep(30); // to not keep the thread busy all time, and to allow TcpClient accumulate sufficient amount of data

    if (_client.Available > 0)
    {
        _buffer = new byte[_client.Available]; // _client is of type TcpClient
        _stream.Read(_buffer, 0, _buffer.Length); // _stream is of type NetworkStream
        RawData.AddRange(_buffer); // RawData is of type List<byte>
    }
}
 

Перейти на