天天看点

《C#多线程编程实战(原书第2版)》——1.2 使用C#创建线程

本节书摘来自华章出版社《c#多线程编程实战(原书第2版)》一书中的第1章,第1.2节,作者(美)易格恩·阿格佛温(eugene agafonov),黄博文 黄辉兰 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

在接下来的内容中,我们将使用visual studio 2015作为主要的工具来使用c#编写多线程程序。本节将展示如何创建一个新的c#程序,并在该程序中使用线程。

为了学习本节,你需要安装visual studio 2015。除此之外无需其他准备。本节的源代码放置在booksampleschapter1recipe1目录中。

请执行以下步骤来了解如何创建一个新的c#程序,并在其中使用线程:

1.启动visual studio 2015。新建一个c# 控制台应用程序项目。

2.确保该工程使用.net framework 4.6或以上版本。不过本节的代码在之前的版本中也能正常运行。

《C#多线程编程实战(原书第2版)》——1.2 使用C#创建线程

3.在program.cs文件中加入以下using指令:

《C#多线程编程实战(原书第2版)》——1.2 使用C#创建线程

4.在main方法下面加入以下代码片段:

《C#多线程编程实战(原书第2版)》——1.2 使用C#创建线程

5.在main方法中加入以下代码片段:

《C#多线程编程实战(原书第2版)》——1.2 使用C#创建线程

6.运行程序。输出如下所示:

《C#多线程编程实战(原书第2版)》——1.2 使用C#创建线程

步骤1和步骤2创建了一个c#的简单的控制台应用程序,使用了.net framework 4.0版本。步骤3引用了命名空间system.threading,该命名空间包含了该程序用到的所有类型。我们使用了c#6.0提供的using static特性,可以使用system.console类型的静态方法而不用我们指定类型名。

步骤4中定义了方法printnumbers,该方法会被主程序和新创建的线程使用。在步骤5中创建了一个线程来运行printnumbers方法。当我们构造一个线程时,threadstart或parameterizedthreadstart的实例委托会传给构造函数。我们只需指定在不同线程运行的方法名,而c#编译器则会在后台创建这些对象。然后我们在主线程中以通常的方式启动了一个线程来运行printnumbers方法。

结果两组范围为1到10的数字会随机交叉输出。这说明printnumbers方法同时运行在主线程和另一个线程中。