//多线程 WaitCallback waitCallback = new WaitCallback(youMethod);//youMethod为你要执行的方法 ThreadPool.QueueUserWorkItem(waitCallback, object);// object为改方法的参数 这里注意:如果你要传入的是多个参数,将这些参数封装成一个object的对象,在方法内再对该对象进行解析操作。 public void youMethod(object youObject){ //这里处理你想要进行的操作,如果是多个参数,须将youObject进行转换或者解析 }
//异步执行操作 //首先在外部声明一个委托 public delegate int scanInfoDelegate(string param); /// <summary> /// 异步执行操作 /// </summary> /// <param name="result">异步操作状态</param> public void AfterScanInfo(IAsyncResult result) { AsyncResult async = (AsyncResult)result; scanInfoDelegate del = (scanInfoDelegate)async.AsyncDelegate; del.EndInvoke(result); } // 异步执行 scanInfoDelegate del = new scanInfoDelegate(stInfo.SaveScanInfo); string param = ""; del.BeginInvoke(param , new AsyncCallback(AfterScanInfo), null);