多线程和异步
Posted lunawzh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程和异步相关的知识,希望对你有一定的参考价值。
1、简单的一般线程
Func<int, int, int> Add = (a, b) => a + b; Thread t = new Thread(() => { Console.WriteLine(Add(3,4)); }); t.IsBackground = true; t.Start();
2、线程池运行线程
Func<int, int, int> Add = (a, b) => a + b; ThreadPool.QueueUserWorkItem(s => { Console.WriteLine(Add(4, 5)); });
3、异步
(1)简单一点,在主线程中调用异步,然后在主线程中处理结果
Func<int, int, int> Add = (a, b) => a + b; var result = Add.BeginInvoke(3, 4, null, null); Console.WriteLine(Add.EndInvoke(result));
(2)在异步中执行结束后调用函数,并异步中执行处理结果。
Func<int, int, int> Add = (a, b) => a + b; Add.BeginInvoke(3, 4, myCallBack, Add);
private void myCallBack(IAsyncResult ar) { var del = (Func<int, int, int>)ar.AsyncState; var res=del.EndInvoke(ar); Console.WriteLine(res); }
以上是关于多线程和异步的主要内容,如果未能解决你的问题,请参考以下文章