C#多线程和task

Posted 杰宇笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#多线程和task相关的知识,希望对你有一定的参考价值。

 

  在C#我们可以定义委托类型(delegate)来控制方法的运行,类似于C++的函数指针。同时我们可以使用.net 自带的action和func来方便地创建委托类型。

  现在我来定义一个简单的委托。

  我们知道invoke是一个简单的同步线程执行,如果要换成begininvoke可以启动另一个线程

C#多线程和task

  这时候一切正常,但是当我们运行程序之后,却无法运行。

C#多线程和task

  这表明我们的begininvoke已经不被支持了,要多线程执行代码必须采用新的方式,也就是我们接下来要介绍的task类型。

C#多线程和task

  我们使用构造函数来制造一个task,构造一个task有三个方式,Task.Run,Start,TaskFactory.StartNew,在这里我们不在研究。

  接着我们来介绍一下task的几个方法

  1.Continuewith

  我们可以使用continuewith来产生连续的任务,表示一个任务结束后才开始下一个任务


以上是关于C#多线程和task的主要内容,如果未能解决你的问题,请参考以下文章

C#多线程之旅

干货分享:详解线程的开始和创建

5天玩转C#并行和多线程编程

C#进阶C# 多线程

C#多线程之旅

C#多线程和线程池