Информация об изменениях

Сообщение Re[7]: ThreadPool проблема зависания от 13.01.2015 7:10

Изменено 13.01.2015 7:11 ionoy

Здравствуйте, zoom-zoom, Вы писали:

ZZ>Сделал 1 потоком, но осталась проблема загрузки ЦП, Sleep решал проблему, может есть альтернатива более профессиональная?


Есть SpinWait, но тут уже зависит от того, насколько часто вам нужно читать данные.

А, вообще, загрузка данных с сервера это IO операция которую можно ждать через await.

Упрощённо, как-то так:

public Task StartReadingDataFrom(string url) 
{
  var client = new HttpClient();
  while(true) {
    var str = await client.GetStringAsync(url);
    _receivedData.Enqueue(str);
  }
}


В таком случае вам не придётся создавать поток вручную.
Re[7]: ThreadPool проблема зависания
Здравствуйте, zoom-zoom, Вы писали:

ZZ>Сделал 1 потоком, но осталась проблема загрузки ЦП, Sleep решал проблему, может есть альтернатива более профессиональная?


Есть SpinWait, но тут уже зависит от того, насколько часто вам нужно читать данные.

А, вообще, загрузка данных с сервера это IO операция которую можно ждать через await.

Упрощённо, как-то так:

public async Task StartReadingDataFrom(string url) 
{
  var client = new HttpClient();
  while(true) {
    var str = await client.GetStringAsync(url);
    _receivedData.Enqueue(str);
  }
}


В таком случае вам не придётся создавать поток вручную.