线程类 TThread 和 TThreadList 都 继承于 TObject .
TThread 用于在进程中创建多线程. 是抽象类.
TThreadList 维护一个安全的线程列表;
TThread 管理IO设备的输入输出; 线程具有不同的优先权( priority).
一般地, 单个 CPU最多同时执行 16个活动线程;
多个线程访问同一资源要避免冲突;
属性:
1. property FreeOnTerminate: Boolean;
设置线程执行完成后是否自动清除; 一般设置为 True, 因为很难确定线程在何时结束.
2. property Handle: THandle;
线程句柄; 只读;
3. property Priority: TThreadPriority;
线程优先权;
4. property ReturnValue: Integer;
存储 方法WaitFor 执行后返回的值;
线程执行完成时, 将此值返回给其它等待线程;
5. property Suspended: Boolean;
线程是否暂停;
6. property Terminated: Boolean;
线程是否终止;
7. property ThreadID: THandle;
线程ID . 不同于Handle;
方法:
1.constructor Create(CreateSuspended: Boolean);
构造函数
CreateSuspended -- 创建后是否马上暂停
2. destructor Destroy; override;
析构函数. 一般不使用.
3. procedure Execute; virtual; abstract;
必须override 的方法; 放置要执行的代码;
4. procedure Resume;
恢复执行线程;
5. procedure Suspend;
暂停线程;
6. procedure Synchronize(Method: TThreadMethod);
在主线程中执行同步方法;
7. function WaitFor: LongWord;
线程终止时执行并返回值;