zoukankan      html  css  js  c++  java
  • C# 可取消的延时实现

    方式1:

    private void button2_Click(object sender, EventArgs e)
            {
                m_th = new Thread(new ThreadStart(CheckDogJob));
                m_th.IsBackground = true;
                m_th.Start();
            }
    
            private async void CheckDogJob()
            {
                try
                {
                    Console.Write("start----");
                    await Task.Delay(3000000, m_cts.Token);
                   
                    Console.Write("End----");
                }
                catch (OperationCanceledException)
                {
                    Console.Write("Cancel----");
                }
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                m_cts.Cancel();
            }

    方式二:

     private void button2_Click(object sender, EventArgs e)
            {
                m_th = new Thread(new ThreadStart(CheckDogJob));
                m_th.IsBackground = true;
                m_th.Start();
            }
    
            private void CheckDogJob()
            {
                Console.Write("start----");
                Task.Delay(3000000, m_cts.Token).ContinueWith((t) =>
                {
                    Console.Write("Cancel----");
                }, TaskContinuationOptions.OnlyOnCanceled).Wait();
                Console.Write("End----");
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                m_cts.Cancel();
            }

    方式三

      private AutoResetEvent m_startDelayEvent = new AutoResetEvent(false);
    
    priviate void Test()
    {
        m_startDelayEvent.WaitOne(100000);
    }
    
    
    //取消
      m_startDelayEvent.Set();
  • 相关阅读:
    Python-24-多线程
    RT-Thread动态内存堆的使用
    Linux编程概念
    Linux_C语言基础
    文件IO_open(),read(),write(),lseek(),close()
    SourceTree跳转注册的方法
    Linux——软件安装
    初学DOM树解析xml文件
    简单json语句转化为map保存
    最大独立集求解
  • 原文地址:https://www.cnblogs.com/karl-F/p/8793779.html
Copyright © 2011-2022 走看看