在我的应用程序中,我正在启动进程(Tshark)并开始捕获,在完成捕获后,我正在检查创建的文件并从进程输出中解析接收到的数据包的数量以更新我的 UI。在这一点上,如果创建的文件很大,所有的 UI 都会卡住,直到收到的数据包数量的结果,所以我想在不同的线程中执行它。
Capinfos capInfo = new Capinfos(); //my class who return the number of packets
ThreadStart tStarter = delegate {label.Text = capInfo._numberOfPackets.ToString("#,##0"); };
Thread thread = new Thread(tStarter);
thread.IsBackground = true;
thread.Start();
此代码返回一个跨线程错误。