У меня есть консольное приложение C #, где у меня есть пул потоков. В пуле потоков будет класс, который выполняет непрерывный метод (пока он не будет работать в течение определенного периода времени или когда он знает, когда остановиться). Метод подключается к потоку HttpWebResponse и продолжает пополнять его.
Проблема в том, что в течение короткого времени все потоки просто делают свое дело, но затем только один поток продолжает показывать его вывод, а остальные ожидают этого потока.
Это метод, который выполняется для каждого потока.
function void ReadStream()
byte[] buf = new byte[8192];
String domain = streamingUrl
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(domain);
HttpWebResponse response = (HttpWebResponse)
request.GetResponse();
Stream resStream = response.GetResponseStream();
string tempString = null;
int count;
do
{
// fill the buffer with data
count = resStream.Read(buf, 0, buf.Length);
if (count != 0)
{
tempString = Encoding.ASCII.GetString(buf, 0, count);
try
{
mySqlManager.SaveResult(tempString);
Console.WriteLine("Been here");
Thread.Sleep(1000);
}
catch (Exception e)
{
}
}
}
while (count > 0);
}