7.3 执行线程对象 当定义Execute方法实现线程类后,可在应用程序中使用它来启动Execute方法的代码。要使用线程,首先创建线程类的一个实例。可以创建立即开始运行的线程实例,或创建一个处于临时中断状态的线程,只在调用Resume方法时开始。要创建一个立即开始运行的线程实例,将构造函数的CreateSuspended参数设为false。
例如,下列代码创建一个线程并开始执行:
警告 不要在应用程序中创建太多线程。管理多个线程的过大开销会降低效率。推荐界限是在单处理器系统中每一进程可包含16个线程。这个界限假定大多数线程正等待外部事件。若所有线程都是活动的,你可能就会想到应少用些线程了。 可创建同一个线程类的多个实例来执行并行代码。例如,可启动线程的一个新的实例以响应用户操作,以使每个线程都执行预期的响应。
7.3.1 重载缺省优先级 线程使用的CPU时间量隐含在线程的任务中,其优先级在构造函数中设置。这些已在7.1.1节中介绍。 然而,若线程优先级依赖于何时被运行而变化,可在临时中断状态创建线程,设置优先级,并开始运行线程:
7.3.2 开始和停止线程 在完成执行之前线程可被随意开始和停止。要临时停止线程,调用它们的Suspend方法。需继续时,调用Resume方法。Suspend方法用内部的计数器计数,因此可嵌套调用Suspend和Resume。在所有的Suspend与Resume匹配前线程不会继续执行。
可通过调用Terminate方法要求线程结束执行。Terminate将线程Terminated属性设为true。若已适当地实现了Execute方法,它会定期检查Terminated属性,并在其为true时停止执行。  
|