C#(7)---线程

 C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行。一个C#程序开始于一个单线程,它是由CLR和操作系统自动创建的,并具有多线程创建额外的线程。

 除非被指定,否则所有的例子都假定以下命名空间被引用:  
   using System.Threading;

这个要加到引用中,否则报错、。。。

尝试一个无线输出x与y的程序,结果为:

不关闭窗口则输出一直不停止

在线程的启动中:

实例化Thread需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。

在.net中可以尝试两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。
 1. 不带参数的启动方式:
 如果启动参数时无需其它额外的信息,可以使用ThreadStart来实例化Thread,:

输出为:

2. 带参数的启动方法
 如果要在实例化线程时要带一些参数,就不能用ThreadStart委托作为构造函数的参数来实例化Thread了,而要ParameterizedThreadStart委托。

它也是线程启动时要执行的方法,但它在实例化时可以用一个带有一个Object参数的方法作为构造函数的参数,而实例化ThreadStart时所用到的方法则无参。。。

这里在实现的时候定义了程序的暂停间隔,可以实现线程在运行过程中间隔时间的控制:

输出结果为:

原文地址:https://www.cnblogs.com/yezikai/p/4474912.html