C# 线程创建实例
来源:互联网 发布:openstack源码下载 编辑:程序博客网 时间:2024/05/24 06:41
线程在ASP.NET 中的使用非常广泛,也非常重要。但是,由于进程和线程是比较靠近底层的东西,想要准确的理解他们并不容易。为了帮助大家简单的理解线程与进程的概念,在这里,我举一个简单的例子。
我把整个的计算机比喻为一个正在建设中的大楼,这个大楼里又有很多个小的包工头(相当于操作系统中的各种应用程序),他们有各自负责的建设任务,互不干扰。每个包工头下面又有更小的包工头,他们有的负责砌墙,有的负责粉刷,有的负责装修,每个大包工头下有一个主小包工头。如在负责砌墙和装修的大包工头的小包工头里,负责砌墙的小包工头(建设工作都首先把房子盖起来,之后才可以进行其他的操作)就是主小包工头。小包工头可以共享各自所属大包工头的一些资源信息,但是不能使用其他大包工头的资源信息。这里的大包工头就相当于进程,小包工头就相当于线程。我们开启一个应用程序就相当于大包工头接手了一份包工。大包工头再把具体的工作承包给小包工头,具体的执行就是依靠下面的小包工头、员工完成的。各个小包工头所包工作的完成也就意味着大包工头负责的项目完成,同时也意味着应用程序的结束。不知道这个例子讲的是不是很合适,下面就通过具体的代码实例创建一个线程。
asp.net中创建一个线程的实现方法也非常简单,只需将其声明并为其提供线程起始点处的方法委托即可实现。创建新的线程时,需要使用 Thread 类,Thread 类具有接受一个 ThreadStart 委托或 ParameterizedThreadStart 委托的构造函数。该委托包装了调用 Start 方法时由新线程调用的方法。创建了Thread类 的对象之后,线程对象已存在并已配置,但并未创建实际的线程,只有在调用Start()方法后,才会创建实际的线程。
ASP.NET的Start()方法用来使线程被安排执行,它有两种重载形式,下面分别介绍。
(1)使操作系统将当前实例的状态更改为ThreadState.Running,语法如下。
public void Start ()
(2)使操作系统将当前实例的状态更改为ThreadState.Running,并提供线程执行时要使用的数据的对象(参数、各类操作系统资源)。语法如下。
public void Start (Object parameter)
注意:如果线程已经终止,就无法通过再次调用Start方法来重新启动。
例如: 创建一个控制台应用程序,自定义一个静态方法createThread(),在Main()方法中实例化Thread类对象创建一个新的线程,调用Start()方法启动该线程。具体代码如下:
注意:线程的入口(本例中为createThread)不带任何参数。
- C# 线程创建实例
- GNU 线程创建实例
- C#线程池实例
- c# 线程简单实例
- C#线程编程实例
- c# 线程操作实例
- c#线程池实例
- C# 创建线程
- c# 创建、终止线程
- C# 服务创建线程
- C# 创建线程
- C# 快速创建线程
- c#创建线程
- C#创建Autocad实例
- 如何创建线程的实例
- C# 线程(Threading)编程 实例
- 【转】C# 创建 终止线程
- C#创建和终止线程
- 音乐app的分析(例:QQ音乐)
- 信息图:A轮、B轮、天使轮,VC、PE、GP、LP
- 嵌入式Linux启动过程分析5-u-boot-1step-word
- Android 自定义Spinner字体、颜色、大小
- 疯狂的进制转换II
- C# 线程创建实例
- 《C++标准程序库》读书笔记(一)
- 嵌入式Linux启动过程分析6-u-boot-2step-word description
- Guava 教程1-使用 Google Collections,Guava,static imports 编写漂亮代码
- horizon view 6.0公网发布
- Cordys BOP 4平台开发入门实战演练——流程建模开发(BPM)
- 嵌入式Linux启动过程分析7-linux
- jdbc基础1
- TortoiseGit在Git@OSC上的应用