Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

delphiÏ̳߳ء¾×ª¡¿


[code=Delphi(Pascal)]
unit uThreadPool;
{  aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); }
interface
uses
  Windows,
  Classes;
// ÊÇ·ñ¼Ç¼ÈÕÖ¾
// {$DEFINE NOLOGS}
type
  TCriticalSection = class(TObject)
  protected
    FSection: TRTLCriticalSection;
  public
    constructor Create;
    destructor Destroy; override;
    // ½øÈëÁÙ½çÇø
    procedure Enter;
    // À뿪ÁÙ½çÇø
    procedure Leave;
    // ³¢ÊÔ½øÈë
    function TryEnter: Boolean;
  end;
type
  // ´¢´æÇëÇóÊý¾ÝµÄ»ù±¾Àà
  TWorkItem = class(TObject)
  public
    // ÊÇ·ñÓÐÖØ¸´ÈÎÎñ
    function IsTheSame(DataObj: TWorkItem): Boolean; virtual;
    // Èç¹û NOLOGS ±»¶¨Ò壬Ôò½ûÓá£
    function TextForLog: string; virtual;
  end;
type
  TThreadsPool = class;
  //Ïß³Ì״̬
  TThreadState = (tcsInitializing, tcsWaiting, tcsGetting, tcsProcessing,
    tcsProcessed, tcsTerminating, tcsCheckingDown);
  // ¹¤×÷Ï߳̽öÓÃÓÚÏ̳߳ØÄÚ£¬ ²»ÒªÖ±½Ó´´½¨²¢µ÷ÓÃËü¡£
  TProcessorThread = class(TThread)
  *******
    // ´´½¨Ïß³ÌʱÁÙʱµÄEvent¶ÔÏó, ×èÈûÏß³ÌÖ±µ½³õʼ»¯Íê³É
    hInitFinished: THandle;
    // ³õʼ»¯³ö´íÐÅÏ¢
    sInitError: string;
    // ¼Ç¼ÈÕÖ¾
    procedure WriteLog(const Str: string; Level: Integer = 0);
  protected
    // Ïß³ÌÁÙ½çÇøÍ¬²½¶ÔÏñ
    csProcessingDataObject: TCriticalSection;
    // ƽ¾ù´¦Àíʱ¼ä
    FAverageProcessing: Integer;
    // µÈ´ýÇëÇóµÄƽ¾ùʱ¼ä
    FAverageWaitingTime: Integer;
    // ±¾Ïß³ÌʵÀýµÄÔËÐÐ״̬
    FCurState: TThreadState;
    // ±¾Ïß³ÌʵÀýËù¸½ÊôµÄÏ̳߳Ø
    FPool: TThreadsPool;
    // µ±Ç°´¦ÀíµÄÊý¾Ý¶ÔÏñ¡£
  &


Ïà¹ØÎĵµ£º

delphiÖÐDateTimePickerͬʱÐÞ¸ÄÈÕÆÚºÍʱ¼äµÄʵÏÖ

µÚÒ»ÖÖ·½·¨£º
µÚÒ»²½£º ÐÞ¸ÄÊôÐÔ
    1¡¢kind -> dtktime Ò²¿ÉÒÔÊÇdtkdate µ«ÊÇÔÚÓÃdtkdateµÄʱºòÐèÒª½«datemodeÊôÐÔÐ޸ijÉdmUpDown
    2¡¢parseinput -> true
µÚ¶þ²½£ºÔÚonUserInputʼþÖÐдһ¾ä´úÂë
DateTimePicker1.DateTime:=DateAndTime;
×¢£ºÒÔÉÏ·½·¨ËäÈ»¿ÉÒԴﵽĿµÄ£¬µ ......

ÓÃdelphi´òÔìÊôÓÚ×Ô¼ºµÄ²¥·ÅÆ÷

    Èç½ñRealPlayerµÄÁ÷ʽýÌåÎļþÒÔÆäÇ¿´óµÄÊÓÆµÑ¹Ëõ±ÈÕýÖð²½ÇÄÈ»ÐËÆð¡£RealPlayer Plus²¥·ÅÆ÷Ò²ÀíËùµ±È»µØ³ÉΪ´ó¼Ò²¥·ÅRealPlayer¸ñʽÎļþµÄÊ×Ñ¡Èí¼þ¡£²»¹ýRealPlayer PlusÒ²²»ÊÇʮȫʮÃÀµÄ£¬±ÈÈçÆô¶¯Ê±¼äÂý£¬Õ¼Óÿռä´ó£¬ÁôÓÐÀúÊ·¼Ç¼µÈµÈ¡£ÆäʵÎÒÃÇ¿ÉÒÔÀûÓÃDelphi´òÔìÒ»¸öÍêÈ«·ûºÏ×Ô¼ºÒªÇóµÄRealPlayer² ......

DelphiͼÏñ´¦Àí ͼÏñ¸ß˹ģºý´¦Àí£¨¸Ä½ø°æ£©

     ÎÒÔÚÎÄÕ¡¶DelphiͼÏñ´¦Àí -- ͼÏñ¾í»ý¼°¸ß˹ģºý¡·ÖУ¬½éÉÜÁËÀûÓÃͨÓõÄͼÏñ¾í»ý¹ý³Ì¶ÔͼÏñ½øÐиß˹ģºý´¦Àí£¬Æä´¦ÀíЧ¹û»¹²»´í£¬´¦ÀíСÐÍͼÏñʱ¸Ð¾õÒ²»¹ÐУ¬µ«ÊÇ´¦Àí½Ï´óͼÏñʱµÄËÙ¶È»¹ÊÇÏÓÂý£¬ÔÚÎÒµÄP4 2.8G¡¢1GÄÚ´æµÄ»úÆ÷É϶ÔǧÍòÏñËØÍ¼Ïñ½øÐÐQ=3£¬R=5µÄ¸ß˹ģºý´¦Àí£¬²»°üÀ¨Í¼Ïñ×°ÔØºÍǰÆÚÊý ......

delphi ½Å±¾ÒýÇæ±È½Ï

TMS Scripter£ºÖ§³ÖPascalºÍVBScriptÁ½ÖÖÓï·¨¡£ÓŵãÊÇÎĵµÆëÈ«¡¢Àý×ÓÆëÈ«£¬½Å±¾¿ÉÖ±½ÓÖ§³ÖDLL£¬¹Ù·½»¹ÌṩÁ˷ḻµÄIDE Debug¹¤¾ß¡¢µ¥Ôªµ¼³öº¯Êý¹¤¾ßµÈ£¬È±µãÊDZàÒëÔËÐнÏÂý¡£for ¿ÕÑ­»·1000Íò´Î£¬ÐèÒª10ÃëÖÓÒÔÉÏ¡£TMS ScripterÊÇÉÌÒµ¹²ÏíÈí¼þ¡£
       FastScript£ºÓùýFastReport±¨±íµÄÍ¬Ñ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ