C#多线程和异步操作

//多线程

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);

 

你可能感兴趣的:(多线程,C++,c,C#)