我有一个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);
}