建设通网站有法律,特色美食网站建设,如何建设网站简介,建设网站第一步C# 使用Thread类建线程 目录 C# 使用Thread类建线程引言Thread类启动线程优先级后台运行线程状态线程名称线程ID最后 引言
线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。线程是我们程序常用的并行运行控制手段#xff0c;…C# 使用Thread类建线程 目录 C# 使用Thread类建线程引言Thread类启动线程优先级后台运行线程状态线程名称线程ID最后 引言
线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。线程是我们程序常用的并行运行控制手段进程可以是单线程也可以使多线程这里我用C# 中的Thread类构建线程来简要地说一下线程的基础使用。
Thread类
Thread类位于System.Threading命名空间下System.Threading命名空间提供一些可以进行多线程编程的类和接口。Thread类主要用于创建并控制线程、设置线程优先级并获取其状态。
启动线程
Thread类的使用确实方便受到大部分人的喜爱。看下面代码通过定义myThread为线程对象定义开始运行的函数为ThreadLoopPriority属性定义其优先级IsBackgroundtrue置为后台线程Name给线程取名。通过Start()方法启动线程。
private void Thread_Start()
{Thread myThread new Thread(new ThreadStart(ThreadLoop))//指定线程函数{Priority ThreadPriority.BelowNormal,//指定优先等级IsBackground true,//可后台运行Name my_Thread//线程名}; //启动线程myThread .Start();}public void ThreadLoop()
{//打印线程IDConsole.Write($ myThread.ID:{myThread.ManagedThreadId}\n);//打印线程状态Console.Write($ myThread.state:{myThread.ThreadState}\n); //休眠thread.sleep(100);whiletrue{}
}优先级
优先级Priority指示线程的调度优先级。该类设置的优先级为枚举类型可以设置也可以随时读取其从低到高包括Lowest, BelowNormal, Normal, AboveNormal, Highest。
后台运行
通常主线程之外我们会定义为后台线程即IsBackground true。前台线程执行完后不管后台线程有没有执行完毕都会直接关闭后台进程。
线程状态
线程状态是以枚举位控制的方式表示的 System.Threading.ThreadState 包括有 10个状态 Running 0x0, StopRequested 0x1, SuspendRequested 0x2, Background 0x4, Unstarted 0x8, Stopped 0x10, WaitSleepJoin 0x20, Suspended 0x40, AbortRequested 0x80, Aborted 0x100 通常我们用Start()方法启动线程使用Abort()方法来停止线程通过thread.sleep()方法来进入休眠WaitSleepJoin状态通过Suspend()来挂起线程通过Resume()方法来恢复继续挂起的线程。
线程名称
线程名Name顾名思义线程的名字用来区分不同的线程。
线程ID
线程IDManagedThreadId为托管线程的唯一标识符编号。
最后
此篇以最简要地概括的线程的基本使用包括了大部分常用操作。在实际运用中如何配合使用以及解决线程冲突、时间控制、卡顿、多线程共享等问题是需要更深入的分析和添加其它方法综合运用的。