public DownloadThread(string name, DownloadParams parameters) { _callApiFunctions = new FileApiFunctions(); thread = new Thread(Func); thread.Name = name; thread.Start(parameters); }
public DownloadParams(DownloadParams parameters) { Config = parameters.Config; FileName = parameters.FileName; FileType = parameters.FileType; Offset = parameters.Offset; Count = parameters.Count; FileNumber = parameters.FileNumber; }
void Func(object parameters) { var timer = new Stopwatch(); Stream outFileStream = new FileStream("C:/docconversion/" + Thread.CurrentThread.Name + ".txt", FileMode.OpenOrCreate, FileAccess.ReadWrite); var outFile = new StreamWriter(outFileStream); var data = new DownloadParams((DownloadParams)parameters); timer = Stopwatch.StartNew(); _callApiFunctions.DownloadFiles(data.Config, data.FileName, data.FileType, data.Offset, data.Count); timer.Stop(); outFile.Write(Thread.CurrentThread.Name + " executing time: " + timer.ElapsedMilliseconds + " \n\n"); if (data.Count == 0) { outFile.Write("Average download time for file: " + timer.ElapsedMilliseconds / 1 + "\n"); } else { outFile.Write("Average download time for file: " + timer.ElapsedMilliseconds / data.Count + "\n"); } Thread.Sleep(0); outFile.Close(); //outFileStream.Close(); }