AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > C++

C++ Builder 执行线程对象

51自学网 http://www.51zixue.net
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时停止执行。

 

 

 
上一篇:C++ Builder 调试多线程应用程序  下一篇:C++ Builder 协调线程