Task学习

1. 普通任务

普通任务

2. WaitTask

 1         static void Main(string[] args)
 2         {
 3             Console.WriteLine("Main Thread Processing");
 4             waitTaskFinished();
 5         }
 6
 7         private static void waitTaskFinished()
 8         {
 9             var task = new Task<int>(CalculateSum);
10             task.Start();
11             Console.WriteLine("Main Thread Processing Other");
12
13             // The main thread would wait the task finished and then continue the following works.
14             task.Wait();
15             Console.WriteLine(task.Result);
16             Console.WriteLine("Main Thread Processing Finished");
17             Console.ReadLine();
18
19         }
20
21         private static int CalculateSum()
22         {
23             Console.WriteLine("Task Proceessing");
24             int sum = 0;
25             for (int t = 0; t < 100; t++)
26             {
27                 sum += t;
28             }
29             Console.WriteLine("Task Proceessing Finished");
30             return sum;
31         }

等待Task结束

后续可以参考: http://www.cnblogs.com/pengstone/archive/2012/12/23/2830238.html

时间: 2024-10-15 20:39:49

Task学习的相关文章

学习IOS开发项目篇--如何让程序在后台保持挂起状态

程序的状态分为:前台运行,后台挂起,后台休眠,为了让项目的网络请求保持活跃状态,需要对程序进行设置. 在applicationDidEnterBackground方法中调用下面的方法,可以让程序进入挂起状态,但在未知时间内,可能会被系统设置为休眠,如果在将程序设置为播放器,并且循环播放一个MP3文件,可以保持永久挂起状态. UIBackgroundTaskIdentifier task =[application beginBackgroundTaskWithExpirationHandler:

微软BI 之SSIS 系列 - Execute SQL Task 中的 Single Row 与 Full Result Set 的处理技巧

开篇介绍 Execute SQL Task 这个控件在微软BI ETL 项目中使用的频率还是非常高的,也是大部分入门 SSIS 初学者最早接触到的几个控制流控件. 我们通常使用 Execute SQL Task 的场景包含但不止于以下几类: 在从源端加载数据到 Staging 表之前使用 Execute SQL Task 执行一些 Truncate 操作. 执行一些 Log 的插入,更新操作. ETL 过程中的 Merge 语句操作. XML 的输出处理. 关于如何使用 Execute SQL

Js基础知识1-对象、对象属性全解

Object对象 Object对象包含如下属性和方法,也就意味着一切对象(函数也是对象)都包含如下方法. 每种方法和属性在不同的对象中有不同的作用,并不是每种对象都有使用每个方法的必要. 下面是Object对象的派生对象在使用这些方法和属性时的意义.Object对象只是定义了他们,并没有使用他们. __proto__属性是保存当前对象的原型对象.对象通过这个属性产生了原型链,可以参考http://blog.csdn.net/luanpeng825485697/article/details/78

Reduce Task的学习笔记

转自:http://blog.csdn.net/androidlushangderen/article/details/41243505 MapReduce五大过程已经分析过半了,上次分析完Map的过程,着实花费了我的很多时间,不过收获很大,值得了额,这次用同样的方法分析完了Reduce的过程,也算是彻底摸透了MapReduce思想的2个最最重要的思想了吧.好,废话不多,切入正题,在学习Reduce过程分析的之前,我特意查了书籍上或网络上相关的资料,我发现很大都是大同小异,缺乏对于源码的参照分析

Spark学习笔记1:Application,Driver,Job,Task,Stage理解

看了spark的原始论文和相关资料,对spark中的一些经常用到的术语学习了一下,记录下. 1,Application application(应用)其实就是用spark-submit提交到spark的程序.比方说spark examples中的计算pi的SparkPi.一个application通常包含三部分:从数据源(比方说HDFS)取数据形成RDD,通过RDD的transformation和action进行计算,将结果输出到console或者外部存储(比方说collect收集输出到cons

ArcGIS API for JavaScript 4.2学习笔记[31] (补充学习)Task类

Task这个东西很有用,是AJS中用于解决各种乱七八糟任务的一个类.它有很多子类,有用于空间分析的,有用于空间查询的,等等. 这篇作为补充学习的第一篇,也是进阶学习的第一篇,我就改个写法. 我将使用思维导图,更好呈现逻辑信息. Task类的继承关系 Task类继承自Accessor类,它又有17个子类.别担心,各取所需,很少能用上超过5个子类的AJS程序,除非是一个超大的AJS集成系统. 以上有我熟知的QueryTask.RouteTask.FindTask.Geoprocessor.Ident

Android学习笔记----Error:Execution failed for task &#39;:app:validateDebugSigning&#39;. &gt; Keystore file F:\myAndroid3\android_s

导入下载的工程出现这个错误,追究其原因是是下载的工程中有指定使用的Keystore文件的路径, 所以我们可以通过Android studio File->ProjectStructure->选择app ,再选择signing 把Store File里指定的Keystore文件的路径删除,或者填写自己的Keystore文件的路径 然后点击ok,再clean下工程即可 Android学习笔记----Error:Execution failed for task ':app:validateDebu

【转】从零开始学习Gradle之二---如何使用Task

原文:http://www.blogjava.net/wldandan/archive/2012/07/05/382246.html 上一篇文章中,我们提到了Gradle的一些基本概念,如Project.Task以及Action,并且创建了我们的第一个Task.这次我们来看看Gradle中关于Project和Task的更多细节. 1. Project和Task 对于build.gradle配置文件,当运行Gradle <Task> 时,Gradle会为我们创建一个Project的对象,来映射b

菜鸟之旅——学习线程(Task)

菜鸟之旅--学习线程(Task) 前面两篇回顾线程和线程池的使用方法,微软在.NET4.5推出了新的线程模型-Task.本篇将简单的介绍Task的使用方法. Task与线程 Task与线程或者说线程池关系紧密,可以说是基于线程池实现的,虽说任务最终还是要抛给线程去执行,但是Task仍然会比线程.线程池的开销要小,并且提供了可靠的API来控制线任务执行. 使用Task来执行的任务最终会交给线程池来执行,若该任务需要长时间执行,可以将其标记为LongRunning,这是便会单独去请求创建线程来执行该