コード例 #1
0
ファイル: Program.cs プロジェクト: shyboylpf/ThreadingTest
 private static void Work(RulyCanceler canceler)
 {
     while (true)
     {
         canceler.ThrowIfCancellationRequested(); // 检查CancellationRequest是否为true
         try
         {
             OtherMethod(canceler);
         }
         finally
         {
             // any required cleanup.
         }
     }
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: shyboylpf/ThreadingTest
        static void Main(string[] args)
        {
            var canceler = new RulyCanceler();

            new Thread(() => {
                try
                {
                    Work(canceler);
                }
                catch (OperationCanceledException)
                {
                    Console.WriteLine("Canceled!");
                }
            }).Start();
            Thread.Sleep(5000);
            canceler.Cancel();  // cancel掉操作.
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: shyboylpf/ThreadingTest
 private static void OtherMethod(RulyCanceler canceler)
 {
     // Do stuff...
     canceler.ThrowIfCancellationRequested();
 }