《C#多线程编程实战(原书第2版)》——1.2 使用C#创建线程-阿里云开发者社区

开发者社区> 华章出版社> 正文
登录阅读全文

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

简介:

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

1.2 使用C#创建线程

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

从微软官方网站可以下载免费的Visual Studio 社区版2015。我们需要它来运行示例代码。

1.2.1 准备工作

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

1.2.2 实现方式

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

1.启动Visual Studio 2015。新建一个C# 控制台应用程序项目。

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


e140c593129b03b912c84231f40308541f57a09b

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


c07a01a490ce4f298349ca24b79ffe7c9f068eed

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


d3737ec9f57baab271d74430c2107aa1d819b936

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


80f9b8a398aab07bf408d0004619199843d9556e

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


7baaebd30a37a91ab217d976fe433ad6a83fede2

1.2.3 工作原理

步骤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方法同时运行在主线程和另一个线程中。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: