private void ThreadPoolExecFunc(object o) { int res = SheepCountFunc((int)o); if (SheepCountEevent != null) { SheepCountEventArgs a = new SheepCountEventArgs(res); SheepCountEevent(this, a); } }
void OnSheepCountEeventCompleted(object sender, SheepCountEventArgs e) { // 线程池 和新线程方案需要把task dispatch到UI线程上 //Deployment.Current.Dispatcher.BeginInvoke(()=> // { // MessageBox.Show("OK, now we have " + e.finalNumber.ToString() + " sheeps!"); // }); // backgroundworker 的线程是IO线程 textBlock_addText("OK, async call completed! now we have " + e.finalNumber.ToString() + " sheeps! \n"); }