示例#1
0
 public void StartWork()
 {
     if (thread == null)
     {
         thread = new Thread(new ThreadStart(Loop));
         thread.Start();
     }
     else
     {
         WaitForWork.Set();
     }
 }
示例#2
0
 void Loop()
 {
     while (!token.IsCancellationRequested)
     {
         using (var reader = new LogReader(memoryStream, true)) {
             while (memoryStream.Position < memoryStream.Length)
             {
                 list.Add(processor.ReadEvent(reader, bufferHeader));
             }
             done.SetResult(true);
         }
         WaitForWork.WaitOne();
     }
 }
示例#3
0
 internal void Stop()
 {
     cancellationTokenSource.Cancel();
     WaitForWork.Set();
 }