Beispiel #1
0
 private void FomulaThread()
 {
     while (ManualResetEvent.WaitOne())
     {
         double y = Math.Sin(X);
         X += 0.01;
         if (IsDataPointList1Active)
         {
             lock (GeneratedDataPointsList1)
             {
                 GeneratedDataPointsList1.Add(new DataPoint(X, y));
                 if (IsNewDataPointList1Active)
                 {
                     NewDataPointsList1.Add(new DataPoint(X, y));
                 }
                 else
                 {
                     NewDataPointsList2.Add(new DataPoint(X, y));
                 }
             }
         }
         else
         {
             lock (GeneratedDataPointsList2)
             {
                 GeneratedDataPointsList2.Add(new DataPoint(X, y));
                 if (IsNewDataPointList1Active)
                 {
                     NewDataPointsList1.Add(new DataPoint(X, y));
                 }
                 else
                 {
                     NewDataPointsList2.Add(new DataPoint(X, y));
                 }
             }
         }
         Thread.Sleep(1);
     }
 }