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