摘要:
Thread类可以创建和控制线程,Thread类的构造函数重载为接受ThreadStart和ParameterizedThreadStart类型的委托参数。下面我们用一个例子来解释怎样用Thread类来创建一个简单的线程 static void Main(string[] args) { #region Thread无参数举例 Thread th = new Thread(ThreadChild); th.Start(); Console.WriteLine("Main Thr... 阅读全文
阅读排行榜
C#基础:委托之Action<T>和Func<T>的用法
2012-06-13 14:21 by 海豚座, 16869 阅读, 收藏,
摘要:
我们在使用委托的过程中,除了为每个参数和返回类型定义一个委托之外,也就是说为每一个方法(作为参数的方法)定义一个委托,我们还可以使用Action<T>和Func<T>委托。 泛型Action<T>委托表示引用一个void返回类型的方法。Action<T>委托类存在不同的变体,可以传递至多16种不同的参数类型,没有泛型参数的Action类可以调用没有参数的方法。例如:Action<in T1>调用带一个参数的方法,Action<in T1,in T2>调用带两个参数的方法等 Func<T>的用法和Action&l 阅读全文
C#基础:线程之异步回调(委托)
2012-06-15 00:11 by 海豚座, 14402 阅读, 收藏,
摘要:
异步回调,什么是异步回调?我是这样理解的,当主线程在执行一段代码的时候,我们用委托执行了一个线程,这个线程要返回一个结果,关键是什么时候返回这个结果,异步回调就是在这个线程执行完成后立即返回这个线程的结果,然后继续执行主线程的方法。 在讨论异步回调之前我们先依次来讨论一下同步执行和异步执行,最后来讨论异步回调。一、同步执行 同步执行:在主线程执行的时候,主线程调用一个其它方法,此时主线程阻塞,等待调用方法执行完成后主线程才能继续执行。 下面是同步执行的流程图 接下来看看代码中的同步执行 static void Main(string[] args) ... 阅读全文
C#基础:使用Task创建任务
2012-06-18 13:44 by 海豚座, 8302 阅读, 收藏,
摘要:
.NET 4 中 包含了新名称空间System.Threading.Task。它包含的类抽象出了线程的功能。使用Task类创建的任务是后台线程,所以在前台线程全部终止的时候,如果任务还没有全部执行万,就会被被动终止。启动任务 怎样启动一个任务?代码中我们首先要添加using System.Threading.Tasks;引用。我们可以使用TaskFactory类或Task类的构造函数和Start()方法。在启动任务时,会创建Task类的一个实例。首先我们看一段代码using System;using System.Text;using System.Threading.Tasks;usi... 阅读全文
C#基础:通过一个实例来学习IFormattable接口,扩展方法
2013-04-19 18:30 by 海豚座, 2233 阅读, 收藏,
摘要:
本实例中,定义了类型Student。Racer定义了几个属性和一个重载的ToString()方法,该方法以字符串格式显示学生信息。这个类实现了IFormattable接口,以支持格式字符串的不同变体。 Student类声明如下: class Student:IFormattable { public string Name { get; set; }//姓名 public string Age { get; set; }//年龄 public string Address { get; set; }//地址 public... 阅读全文
浙公网安备 33010602011771号