您的位置:首页 > 科技 > 能源 > 橙子建站和今日头条什么关系_六安网新科技集团有限公司_网络平台有哪些?_如何优化seo关键词

橙子建站和今日头条什么关系_六安网新科技集团有限公司_网络平台有哪些?_如何优化seo关键词

2025/1/31 23:56:26 来源:https://blog.csdn.net/abc1564984930/article/details/143211443  浏览:    关键词:橙子建站和今日头条什么关系_六安网新科技集团有限公司_网络平台有哪些?_如何优化seo关键词
橙子建站和今日头条什么关系_六安网新科技集团有限公司_网络平台有哪些?_如何优化seo关键词

1. 样例代码

public class TestTasks
{//1. 无参 无返回值public void Task1(){Debug.WriteLine("-------Task1.Start...");Thread.Sleep(3000);Debug.WriteLine("-------Task1.End...");}//2. 有参 无返回值public void Task2(int param){Debug.WriteLine("-------Task2.Start..." + param);Thread.Sleep(3000);Debug.WriteLine("-------Task2.End...");}//3. 有参 有返回值public int Task3(int param){Debug.WriteLine("-------Task3.Start..." + param);Thread.Sleep(3000);Debug.WriteLine("-------Task3.End...");return param + 1;}
}

2. 方式1:Task 方式(推荐)

TestTasks tt = new TestTasks();//t1:
Task t1 = Task.Factory.StartNew(tt.Task1);//t2: 传参用lambda表达式
Task t2 = Task.Factory.StartNew(() => tt.Task2(102));//等待 t1 t2 执行完成之后,再执行 t3.
Task.WaitAll(t1, t2);//t3: 带返回值
Task<int> t3 = Task.Factory.StartNew(() => tt.Task3(103));  
Debug.WriteLine("-------t3: " + t3.Result);

3. 方式2:Async / Await 方式 (较为推荐)

TestTasks tt = new TestTasks();//添加 await,  Task 依次执行。 
await Task.Factory.StartNew(tt.Task1);await Task.Factory.StartNew(() => tt.Task2(102));var result = await Task.Factory.StartNew(() => tt.Task3(103));  
Debug.WriteLine("-------t3: " + result);

4. 方式3:创建线程

TestTasks tt = new TestTasks();
new Thread(tt.Task1).Start();
//针对有参数的任务,需要用Lambda进行包装或者使用ParameterizedThreadStart对象. 
new Thread(x => tt.Task2((int)x)).Start(100);
//但是无法执行带返回值的方法。

5. 方式4:线程池

TestTasks tt = new TestTasks();
ThreadPool.QueueUserWorkItem(o => tt.Task1());
ThreadPool.QueueUserWorkItem(o => tt.Task2(102));
ThreadPool.QueueUserWorkItem(o => tt.Task3(103));

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com