c#带参数的方法线程
如果是Thread th=new Thread(new ParameterizedThreadStart(带参数的方法名));
thread.Start(参数);执行带参数的线程
如果是异步委托
委托类型 委托变量名=new 委托类型(方法名);
委托变量名.BeginInvoke(方法的参数,回调函数,要传进回调函数的一个参数);//启动异步委托,开启另一个线程执行这个委托中的带参数的方法,返回一个IAsyncResult类型
委托变量名.EndInvoke(IAsyncResult类型);//获取方法执行的返回结果
如果是线程池就很简单了
ThreadPool.QueueUserWorkItem(new WaitCallback,object obj)//无返回值,只有一个参数,把方法交给线程池去执行,它会自动分配工作线程完成方法
如果是工作项Task<TResult>//Tresult表示的是返回值的类型
Task<TResult> t=new Task<TResult>(Func委托类型,可以最多一个参数);
t.Start()开始执行
t.Result方法的返回值
一般来说常用的就是线程池和工作项 |