基于C#线程实验探究
2021-06-28刘毓聂思兵杨济宁
刘毓,聂思兵,杨济宁
(1.内江师范学院计算机科学学院(人工智能学院),四川 内江 641100;2.珠海博闻教育科技发展有限公司,广东 珠海 519000;3.内江职业技术学院,四川 内江 641111)
1 概述
程序执行流的最小执行单位,是行程中的实际运作单位,是进程中的实际运作单位[1];是进程中按顺序执行的控制流,每条线程承担各自的任务,一个进程中可以并发多个线程[2]。线程间通信主要通过共享内存,上下文切换很快,资源开销较少,但相比进程不够稳定容易丢失数据。
为提高程序的可靠性,简化编程代码,实现程序并发执行线程,线程采用代码与代码之间的隔离技术。由此可见,合理安排线程实验,对于C# 的实验有重要意义。
讨论C#线程实验,目的就是通过实验让学生掌握线程的创建与控制,包括创建线程、暂停和恢复线程、终止线程、设置线程执行的优先级,线程的同步方法。
2 C# 实现线程的常用方式
2.1 Thread类实现
在C#语言中线程(Thread)是包含在进程中的,它位于 System.Threading 命名空间中,线程的创建以及执行使用hread 类。
Thread类的实现方式,关键代码如下:
public void TestThread()
{
Thread thread = new Thread( TestAction);
//设置属性
thread.IsBackground = true;
thread.Name = "Test";
//启动线程 thread.Start();
}
private void TestAction()
{
//处理相关业务
}
主要操作步骤为:设置相关属性new Thread(TestAction);启动 thread.Start();处理的相关业务;执行相关业务操作等。
2.2 ThreadPool 线程池实现
需要创建的线程很多,且都是比较小的线程的情况下,可以使用线程池(ThreadPool类)。ThreadPool是一个静态方法,提供了对一个线程集合的操作,它会在线程数不足时增加线程,空闲线程数过多时释放资源。ThreadPool 线程池实现的关键,有如下几步:
设置相关属性;……
