Delphi多线程学习(8):优先级
一个线程的优先级取决于创建线程的进程的优先级(priority class)和线程本身相对的优先级(relative priority)。
1、进程优先级:
不同操作系统 优先级数目不同。Windows2000以上的版本列表如下:
Idle:(标志:IDLE_PRIORITY_CLASS,值为$40);
Below Normal:(标志:BELOW_NORMAL_PRIORITY_CLASS,值为$4000);
Normal:(标志:NORMAL_PRIORITY_CLASS,值为$20);
Above Normal:(标志:ABOVE_NORMAL_PRIORITY_CLASS,值为$8000);
High:(标志:HIGH_PRIORITY_CLASS,值为$80);
Realtime:(标志:REALTIME_PRIORITY_CLASS,值为$100)。
进程的缺省优先级为Normal,几乎所有场合都不应将优先级设为Realtime。
创建进程时给定优先级,只要在CreateProcess中,将优先级标志做“OR”操作,填入dwCreationFlags参数中。
取得活动进程的优先级:
function GetPriorityClass(hProcess:THandle):DWORD;stdcall;
设置活动进程的优先级:
function SetPriorityClass(hProcess:THandle;dwPriorityClass:DWORD);BOOL;
(上面两个函数的hProcess由GetCurrentProcess函数获得,这个句柄不用CloseHandle关闭)
2、线程相对优先级:
线程优先级分7类,如下:
tpIdle:(常量:THREAD_PRIORITY_IDLE,值为-15);
tpLowest:(常量:THREAD_PRIORITY_LOWEST,值为-2);
tpBelow Normal:(常量:THREAD_PRIORITY_BELOW_NORMAL,值为-1);
tpNormal:(常量:THREAD_PRIORITY_NORMAL,值为0);
tpAbove Normal:(常量:THREAD_PRIORITY_ABOVE_NORMAL,值为1);
tpHighest:(常量:THREAD_PRIORITY_HIGEST,值为2);
tpTimeCritical:(常量:THREAD_PRIORITY_TIME_CRITICAL,值为15);
对于线程类TThread,改变线程优先级非常方便,只要将派生类的Priority属性相应设置就好了。如:MyThread.Priority:=tpHighest;
3、线程优先级计算:
如果线程优先级为tpIdle,无论它所处的进程优先级是多少,线程整体优先级总是1,但是,当进程优先级为Realtime时,那么与tpIdle相组合,线程整体优先级为16;
如果线程优先级为tpTimeCritical,无论它所处的进程优先级为多少,整体优先组都是15,但是,当进程优先级是Realtime时,那与tpTim
相关文档:
例如以下代码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;
type
TForm1 = class(TForm)
procedure one();
function two(x,y:integer):integer;
private
......
Delphi之Tchart控件使用心得
最近在学习delphi,做一个软件练手,用到Tchart控件,有些粗略的使用心得,供delphi初学者参考。
TChart是delphi里面一个标准的图形显示控件。它可以静态设计(at design time)也可以动态生成。可下载Steema TeeChart 7,没有源代码,能用就好!
&nb ......
TThread是一个抽象类,用于在delphi中创建线程。
创建一个TThread的子类对象即相当于创建一个线程。
当一个应用程序运行时,应用程序就被载入内存准备执行。此时,它成为包含一个或多个线程的进程。线程执行应用程序的部分内容,并由操作系统分配CPU时间。同一进程的所有线程共享同一地址空间,可以访问进程的全局变量 ......
现有一系统不定时在同一目录下生成一批txt文件,内容大概如下;
20100112_164910,6,81406392,808,113,,
为方便统计,需要将这些txt文件中的数据读入数据表中.
现有两种方法:
一是直接将数据读入到数据表中的某一列中,再用sql 语句拆开成几列:
  ......