var
LockFileAccess:TMultiReadExclusiveWriteSynchronizer;
f:TFileStream;
procedure TMyThread.Execute;
var
Count:Integer;
n:Integer;
Buff:PByte;
begin
Count:=0;
while Count<Length do
begin
//此处下载到 n 字节
// 下面将数据写入文件
LockFileAccess.BeginWrite;
f.Position:=BasePosition+Count;
f.Write(Buff^,n);
LockFileAccess.EndWrite;
Count:=Count+n;
end;
terminate;
Free;
end;