最近在做一个wpf应用,用到了不少多线程的知识,尤其是 asyn 和 await 语法糖。为了巩固一下多线程的知识,我打算回顾一下有关的基础知识。这个系列主要借鉴《C#多线程编程实战》这本书,由于该书之后的例子缺少详细的说明,所以我打算用自己的理解为大家解读一下,如有错误请大家指出,我们一起讨论。
首先,我们从最基础的开始:
using System;
using System.Threading;
namespace Chapter1.Recipe1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Main方法运行在{0}线程上!",Thread.CurrentThread.ManagedThreadId);
Thread t = new Thread(PrintNumbers);
t.Start();
PrintNumbers();
Console.Read();
}
static void PrintNumbers()
{
Console.WriteLine("Starting...");
for (int i = 1; i < 10; i++)
{
Thread.Sleep(100);
Console.WriteLine("结果为:{0},运行在线程{1