delphi用API复制文件多线程的速度如何比单线程还慢

delphi用API复制文件多线程的速度怎么比单线程还慢?
我做了个多线程复制的小工具,用的是CopyFile函数,复制128M的几个视频,但是多线程复制的速度不理想
1个线程复制用了5.5秒
3个线程却用了6.07秒,
复制1.25G的文件
1个线程用了205s
10个线程用了2.6.5s
为什么会这样呢?
各位帮帮忙看下
Delphi(Pascal) code
procedure Copy();                          //复制
var
i: word;
begin
  with MainForm do
  begin
    Path := Edit.Text;   //path 是个全局的string变量
    for i := 0 to FList.Count - 1  do  //filelist是储存目标文件路径的stringlist变量
    begin
      if  DirectoryExists(Path)then
      begin
        if CopyFile(PChar(FList[i]),Pchar(Path +'\'+ ExtractFileName(FList[i])),false) then
        begin
          Cs.Enter; //cs是个全局的临界区类
          inc(Proc);//d当前进度
          StatusBar.Panels[3].Text := Format('进度: %d/%d',[Proc,FileMemo.Lines.Count]);
          ProgressBar.Position := ProgressBar.Position + 1;
          RichEdit.Lines.Add('[提示] 文件'+Flist.Strings[i]+'复制成功');
          Cs.Leave;
          Continue;
        end
        else
        begin
          Cs.Enter;
          RichEdit.Lines.Add('');
          RichEdit.SelStart := Echo.GetTextLen;
        RichEdit.Text :=  Format('%s[提示] 文件“%s”复制失败',[Echo.Text,Flist.Strings[i]]);
         RichEdit.SelLength := Length( Format('[提示] 文件“%s”复制失败',[Flist.Strings[i]]));
          Echo.SelAttributes.Color := clRed;
          Cs.Leave;
        end;
      end;
    end;
  end;
  Dec(TCount);
end;



------解决方案--------------------
因为磁盘的磁头只有一个,多线程读写文件会导致磁头频繁寻道,从而降低效率。
------解决方案--------------------
谁告诉你线程一定会快了,cpu负担增加了,还要调度线程,你说是什么结果
------解决方案--------------------
磁盘的调度算法之中 循环扫描调度算法是最佳的。

也就是说 一次性将顺序排列的盘块读出

你这样多线程只会降低磁盘自身调度机制的效率
------解决方案--------------------
多线程从来不是解决快慢的问题。不知道谁最先说多线程会提高效率的,真是害的人多了。
多线程是一种并行思想体现,只有适合并行来做的事情才用,如果不适合的,根本就没必要用。
------解决方案--------------------
我看过下 FastCopy 的源码,用 vc 可编译通过,大致他是分为读文件线程及写文件线程,然后还有磁盘缓存(读出来的缓存),当然,还有非常低级的绝对磁盘读及绝对磁盘写,反正它的优化是非常多面的,而不是仅仅依靠线程,所以几乎可以达到磁盘 IO 所说的极限速度