线程的优先级和线程的状态
线程的优先级和线程的状态
线程的优先级
在 Thread 类中,可以设置 Priority
属性,以影响线程的基本优先级,Priority
属性是 ThreadPriority
枚举定义的一个值。定义的级别有:Highest
、AboveNormal
、Normal
、BelowNormal
和 Lowest
。
线程的状态
- 获取线程的状态(Running 还是 Unstarted...),当我们通过调用 Thread 对象的 Start() 方法,可以创建线程,但是调用了
Start()
方法之后,新线程不是马上进入 Running 状态,而是处于 Unstarted 状态,只有当操作系统的线程调度器选择了要运行的线程,这个线程的状态才会修改为 Running 状态。我们使用Thread.Sleep()
方法可以让当前线程休眠进入 WaitSleepJoin 状态。 - 使用 Thread对象的
Abort()
方法可以停止线程。调用这个方法,会在要终止的线程中抛出一个ThreadAbortException
类型的异常,我们可以 try catch 这个异常,然后在线程终止前做一些清理的工作。 - 如果需要等待线程的结束,可以调用 Thread 对象的
Join()
方法,表示把 Thread 加入进来,暂停当前线程,并把它设置为 WaitSleepJoin 状态,直到加入的线程完成为止。