• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

        在DELPHI中用線程排序

        在DELPHI中用線程排序

        更新時間:2022-04-29 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        在數(shù)據(jù)處理量很大的情況下,如何在數(shù)據(jù)處理的同時響應(yīng)用戶操作?Window
        s95/98和WindowsNT作為多線程的多任務(wù)操作系統(tǒng),其調(diào)度單元是線程,即線程是
        系統(tǒng)分配處理器時間資源的基本單元,所以我們可以利用線程實現(xiàn)在處理大批量
        數(shù)據(jù)的同時響應(yīng)用戶操作。
          DELPHI作為一個優(yōu)秀的開發(fā)平臺,對開發(fā)多線程應(yīng)用程序提供了強有力的支
        持,即可直接利用32位Windows環(huán)境提供的Win32API接口函數(shù)CreateThread,也可
        利用DELPHI中提供的BeginThread函數(shù)。在下面例子中,正是使用了DELPHI提供的
        TThread類。
          一.基本的方法如下:
          1.從Tthread類派生一個新類。(創(chuàng)建TSortThread類)
          2.定義新類的Create方法。
          3.定義新類的Execute方法,并在Execute方法中插入線程運行時執(zhí)行的代碼

          4.引用類方法創(chuàng)建實例。
          二.例子的詳細代碼及說明:
          首先,新建一個單元,保存為mysort.pas.在此單元中,我們創(chuàng)建了一個TSo
        rtThread類,它從TThread類中繼承而來,所以當我們在程序中創(chuàng)建這個類的一個
        實例時,也就是創(chuàng)建了一個新的線程。
          接著,在該類中定義一個Sort方法,用來對數(shù)組進行排序,同時TSortThrea
        d類超越了TThread類的構(gòu)造方法Create和Execute,在execute方法中,調(diào)用了對
        數(shù)組進行排序的Sort方法。具體代碼如下:
          unitmysort;
          interface
          usesClasses;//TThread類在Classes中被定義。
          type
          PSortArray=TSortArray;
        TSortArray=array.[0..MaxIntdivSize
        Of(Integer)-1]ofInteger;
          {此處定義了TsortThread類}
          TSortThread=class(TThread)
          Private
          {在TSortThread類中定義了如下幾個私有變元}
          FSortArray:PSortArray;
          FSize:Integer;
          FA,FB,FI,FJ:Integer;
          Protected
          {類TSortThread超越了類Tthread的Execute方法}
          procedure Execute;override;
          {類TsortThread添加了一個Sort方法}
          procedure Sort(varA:arrayofInteger);
          public
          {類TSortThread超越了類Tthread的構(gòu)造方法}
          constructorCreate(varSortArray:arrayofInteger);
          end;
          implementation
          constructorTSortThread.Create(varSortArray:arrayofInteger);
          begin
          FSortArray:=@SortArray;
          FSize:=High(SortArray)-Low(SortArray)+1;
          FreeOn Terminate:=True;
          inheritedCreate(False);
          end;
          {當線程開始時,Execute方法將被調(diào)用。}
          procedure TSortThread.Execu
        te;
          begin
          Sort(Slice(FSortArray,FSize));
          end;
          {下面實現(xiàn)了冒泡法排序}
          procedure TSortThread.Sort(varA:arrayofInteger);
          var
          I,J,T:Integer;
          begin
          for I:=High(A)downto Low(A) do
          for J:=Low(A)to High(A)-1 do
          if A[J]>A[J+1] then
          begin
          T:=A[J];
          A[J]:=A[J+1];
          A[J+1]:=T;
          if Terminated then Exit;
          end;
          end;
          end
          最后,在用戶應(yīng)用程序的implementation處加入usesmysort,在執(zhí)行排序的地
        方加入TQuickSortthread.Create(SortArray),其中SortArray為一實際的數(shù)組。
        這樣就可以用線程實現(xiàn)排序,在排序過程中,用戶不必等到排序結(jié)束就可以執(zhí)行
        其它操作。這種用多線程實時響應(yīng)用戶操作方法在涉及大量數(shù)據(jù)處理的應(yīng)用程序
        中顯得尤為重要。
        (湖南 劉一帆)

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 久久久久久久91精品免费观看| 亚洲国产精品日韩av不卡在线 | 亚洲一区二区三区在线观看蜜桃 | 91人人区免费区人人| 亚洲综合精品网站在线观看| 老妇激情毛片免费| 免费夜色污私人影院在线观看| 亚洲AV无码一区二区大桥未久| 精品少妇人妻AV免费久久洗澡| 亚洲爆乳精品无码一区二区| 国产精品va无码免费麻豆 | 大片免费观看92在线视频线视频| 免费久久精品国产片香蕉| 免费看一级毛片在线观看精品视频| 免费人成视频x8x8入口| 精品一区二区三区高清免费观看| 亚洲最大AV网站在线观看| 国产免费爽爽视频在线观看| 亚洲va无码手机在线电影| 亚洲视频在线观看免费视频| 亚洲jizzjizz在线播放久| 国产无遮挡吃胸膜奶免费看视频 | 三年片在线观看免费观看大全一| 亚洲无线电影官网| 无码人妻一区二区三区免费手机| 亚洲性无码一区二区三区| 九月婷婷亚洲综合在线| 国产一级在线免费观看| 亚洲综合激情六月婷婷在线观看| 毛片a级毛片免费观看品善网| 日韩亚洲人成在线综合| 亚洲人成亚洲人成在线观看| 日本zzzzwww大片免费| 亚洲AV无码AV吞精久久| 亚洲色精品88色婷婷七月丁香| 最新黄色免费网站| 国产精品亚洲片在线花蝴蝶| 亚洲AV成人片色在线观看高潮| 国产成人免费高清激情视频| 国产免费伦精品一区二区三区| 亚洲精品美女在线观看|