C# 线程

单线程简介

单线程顾名思义就是只有一个线程。默认情况下,系统为应用程序分配一个主线程。

多线程简介

当需要用户交互的软件都必须尽可能快的对用户的活动作出反应,这时可以使用多线程。

在以下情况可以使用多线程:

①通过网络与Web服务器和数据库进行通信。

②执行占用大量时间的操作。

③区分具有不同优先级的任务。

④使用户界面可以在将时间分配给后台任务时仍能快速做出响应。

多线程的缺点:

①跟踪大量的线程将占用大量的处理器时间,如果大多数当前线程处于一个进程中,则其它进程中的线程的调度频率就会很低。

②使用多线程控制代码执行非常复杂,并可能产生许多Bug。

③销毁线程需要了解可能发生的问题并对这些问题进行处理。

Thread类

C#中对线程的操作主要用到了Thread类,该类位于System.Threading命名空间下。

使用Thread无参示例:

//创建一个Thread实例。

Thread myThread=new Thread(new ThreadStart(threadOut)); //threadOut为线程执行的函数。

myThread.Start();

//threadOut函数。

public void threadOut()

{

   MessageBox.Show("线程开始运行!");

}

使用Thread带参示例:

//创建一个Thread实例。

 Thread parameterThread = new Thread(new ParameterizedThreadStart(threadOut)); 

myThread.Start(5);

//threadOut函数。

public void threadOut(object  parameter)

{

   MessageBox.Show("当前线程所传参数为"+parameter.tostring());

}

线程的挂起和恢复分别可以通过调用Thread类中的Suspend方法和Resume方法实现。

线程休眠主要通过Thread类的Sleep方法实现,该方法用来将当前线程组织指定的时间。

终止线程可以分别使用Thread类的Abore方法和Join方法实现。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。