コード例 #1
0
        public async Task SampleChangerParallelManagmentTest()
        {
            var ct1 = new CancellationTokenSource(TimeSpan.FromMinutes(1)).Token;
            //SampleChanger[] s = null;
            var s1 = new SampleChanger(107376);
            var s2 = new SampleChanger(114005);

            try
            {
                //s = new SampleChanger[] { new SampleChanger(107374), new SampleChanger(107375) };

                s1.ErrorOccurred += (i, j) => { Console.WriteLine($"{i}, {j}"); };
                s2.ErrorOccurred += (i, j) => { Console.WriteLine($"{i}, {j}"); };


                s1.PositionReached += async(s11) => await PositionReachedHandler(s11).ConfigureAwait(false);

                s2.PositionReached += async(s22) => await PositionReachedHandler(s22).ConfigureAwait(false);


                await Task.WhenAll(XemoCycle(s1), XemoCycle(s2));

                Console.WriteLine("Press enter for exit...");
                Console.ReadLine();
            }
            catch (TaskCanceledException)
            {
                Console.WriteLine("The task was cancelled");
                s1.Stop();
                s2.Stop();
            }
            finally
            {
                s1.Stop();
                s1.Disconnect();
                s2.Stop();
                s2.Disconnect();
            }
        }
コード例 #2
0
 private void Stop(SampleChanger sc)
 {
     sc?.Stop();
     Console.WriteLine($"{sc.PairedDetector} has stopped");
 }