线程处理

2021-07-23 00:56

阅读:588

标签:queue   callback   bee   adp   ken   lis   dispose   for   ESS   

案例一、

        public static void Main()
        {
            // Create the token source.
            CancellationTokenSource cts = new CancellationTokenSource();

            // Pass the token to the cancelable operation.
            ThreadPool.QueueUserWorkItem(new WaitCallback(DoSomeWork), cts.Token);
            Thread.Sleep(1000);

            // Request cancellation.
            cts.Cancel();
            Console.WriteLine("Cancellation set in token source...");
            Thread.Sleep(2500);
            // Cancellation should have happened, so call Dispose.
            cts.Dispose();
            Console.ReadLine();
        }

        // Thread 2: The listener
        static void DoSomeWork(object obj)
        {
            CancellationToken token = (CancellationToken)obj;

            for (int i = 0; i 100000; i++)
            {
                if (token.IsCancellationRequested)
                {
                    Console.WriteLine("In iteration {0}, cancellation has been requested...",
                                      i + 1);
                    // Perform cleanup if necessary.
                    //...
                    // Terminate the operation.
                    break;
                }
                // Simulate some work.
                //Thread.SpinWait(500000);
                Console.WriteLine("{0}...", i + 1);
            }
        }

 

线程处理

标签:queue   callback   bee   adp   ken   lis   dispose   for   ESS   

原文地址:https://www.cnblogs.com/chenze-Index/p/15010412.html


评论


亲,登录后才可以留言!