3
我有一個線程從隊列中取出數據並將其寫入另一個應用程序的STDIN。我使用流,但與.Write甚至.BeginWrite,當我發送1MB塊到第二個應用程序時,我的GUI變得滯後〜1秒。爲什麼?我的回調是這樣的:流寫入滯後我的GUI
void Progress(object sender, ProgressArgs e) {
if (this.InvokeRequired) {
this.BeginInvoke(new MethodInvoker(delegate() { Progress(sender, e); }));
return;
}
progressBar1.Value = (int) e.PercentDone;
}
下游過程的吞吐量是多少? – 2010-05-16 12:14:47
您是否嘗試過使用代碼分析器(例如由Jet Brains或Red-Gate提供的產品)來查看可能導致延遲的原因? – Kane 2010-05-16 12:16:08
你在用什麼電腦?如果它是一個單核心,低總線速度的電腦,這個操作可能會輕易落後於你的gui(以及你的電腦的其他部分)。 – 2010-05-16 12:22:38