zoukankan      html  css  js  c++  java
  • C#使用Task创建任务

    .NET 4 中 包含了新名称空间System.Threading.Task。它包含的类抽象出了线程的功能。使用Task类创建的任务是后台线程,所以在前台线程全部终止的时候,如果任务还没有全部执行万,就会被被动终止。
    
    启动任务
    
      怎样启动一个任务?代码中我们首先要添加using System.Threading.Tasks;引用。我们可以使用TaskFactory类或Task类的构造函数和Start()方法。在启动任务时,会创建Task类的一个实例。首先我们看一段代码
     
    
    using System;
    using System.Text;
    using System.Threading.Tasks;
    using System.Threading;
    namespace ConsoleTask
    {
        class Program
        {
            static void Main(string[] args)
            {
                //使用TaskFactory创建一个任务
                TaskFactory tf = new TaskFactory();
                Task t1 = tf.StartNew(NewTask);
                //使用Task类de Factory创建一个任务
                Task t2 = Task.Factory.StartNew(NewTask);
                ///////////////////////////////////////
                Task t3 = new Task(NewTask);
                t3.Start();
                Task t4 = new Task(NewTask, TaskCreationOptions.PreferFairness);
                t4.Start();
                Thread.Sleep(1000);//因为任务是后台线程,所以我们这里阻塞主线程一秒钟来等待任务全部执行完成
            }
            static void NewTask()
            {
                Console.WriteLine("开始一个任务");
                Console.WriteLine("Task id:{0}",Task.CurrentId);
                Console.WriteLine("任务执行完成");
            }
        }
    }
  • 相关阅读:
    怎样做到长期写一个价值博客?
    linux中rz、rs命令无法执行的情况
    关于图床的选择方案(博客园、公众号、简书、CSDN)
    如何有效地记录和管理笔记(一)
    Linux之时间同步操作
    weblogic12.1.3 静默安装 建域
    在Linux 系统上运行多个tomcat
    Python 生成随机数
    异常处理

  • 原文地址:https://www.cnblogs.com/larva/p/Task.html
Copyright © 2011-2022 走看看