zoukankan      html  css  js  c++  java
  • C# Task Cancel,CancellationTokenSource.IsCancellationRequested

     public partial class Form1 : Form
        {
            CancellationTokenSource cts = new CancellationTokenSource();        
            public Form1()
            {
                InitializeComponent(); 
            }
    
            private void StartClick(object sender, EventArgs e)
            {             
                Task testTask = Task.Run(() =>
                {
                    while (!cts.IsCancellationRequested)
                    {
                        string str = $"{DateTime.Now.ToString("yyyyMMddHHmmssffff")},{Guid.NewGuid().ToString()}";
                        BeginInvoke(new Action(() =>
                        {
                            listBox1.Items.Add(str);
                        }));
                        Thread.Sleep(500);
                    }
                }, cts.Token);
            }
    
            private void CancelClick(object sender, EventArgs e)
            {
                cts.Cancel();
                string str = "Task cancelled";
                listBox1.Items.Add(str);
            }
        }
    public partial class Form1 : Form
        {
            CancellationTokenSource cts = new CancellationTokenSource();
            List<string> lbList = new List<string>();      
            public Form1()
            {
                InitializeComponent();
                listBox1.DataSource = lbList; 
            }
    
            private void StartClick(object sender, EventArgs e)
            {             
                Task testTask = Task.Run(() =>
                {
                    while (!cts.IsCancellationRequested)
                    {
                        string str = $"{DateTime.Now.ToString("yyyyMMddHHmmssffff")},{Guid.NewGuid().ToString()}";
                        BeginInvoke(new Action(() =>
                        {
                            lbList.Add(str);
                            listBox1.DataSource = null;
                            listBox1.DataSource = lbList;                                         
                        }));
                        Thread.Sleep(500);
                    }
                }, cts.Token);
            }
    
            private void CancelClick(object sender, EventArgs e)
            {
                cts.Cancel();
                string str = "Task cancelled";
                BeginInvoke(new Action(() =>
                {
                    lbList.Add(str);
                    listBox1.DataSource = null;
                    listBox1.DataSource = lbList;                                           
                }));
            }
        }
     public partial class Form1 : Form
        {
            CancellationTokenSource cts = new CancellationTokenSource();
            List<string> lbList = new List<string>();      
            public Form1()
            {
                InitializeComponent();
                listBox1.DataSource = lbList; 
            }
    
            private void StartClick(object sender, EventArgs e)
            {             
                Task testTask = Task.Run(() =>
                {
                    while (!cts.IsCancellationRequested)
                    {
                        AddContentToLBx();                    
                    }
                }, cts.Token);
            }
    
            int i = 0;
    
            private void AddContentToLBx()
            {
                for(i=0;i<10000;i++)
                {
                    string str = $"i={i},{DateTime.Now.ToString("yyyyMMddHHmmssffff")},{Guid.NewGuid().ToString()}";
                    BeginInvoke(new Action(() =>
                    {
                        lbList.Add(str);
                        listBox1.DataSource = null;
                        listBox1.DataSource = lbList;
                    }));
                    Thread.Sleep(500);
                    if (cts.IsCancellationRequested)
                    {
                        break;
                    }
                }
            }
    
            private void CancelClick(object sender, EventArgs e)
            {
                cts.Cancel();
                string str = $"i={i},Task cancelled";
                BeginInvoke(new Action(() =>
                {
                    lbList.Add(str);
                    listBox1.DataSource = null;
                    listBox1.DataSource = lbList;                                           
                }));
            }
        }
    int i = 0;
            List<string> lbList = new List<string>();      
            private bool IsCancelled { get; set; }
            public Form1()
            {
                InitializeComponent();
                listBox1.DataSource = lbList; 
            }
    
            //Start or restart
            private void StartClick(object sender, EventArgs e)
            {
                IsCancelled = false;
                if(!IsCancelled)
                {
                    Task testTask = Task.Run(() =>
                    {
                        AddContentToLBx();
                    });
                }           
            }        
    
            private void AddContentToLBx()
            {
                while (i < 10000)
                {
                    if (!IsCancelled)
                    {
                        string str = $"i={i},{DateTime.Now.ToString("yyyyMMddHHmmssffff")},{Guid.NewGuid().ToString()}";
                        BeginInvoke(new Action(() =>
                        {
                            lbList.Add(str);
                            listBox1.DataSource = null;
                            listBox1.DataSource = lbList;
                        }));
                        Thread.Sleep(500);
                    }
                    else
                    {
                        break;
                    }
                    i++;
                }
            }
    
            private void CancelClick(object sender, EventArgs e)
            {            
                IsCancelled = true;
                string str = $"i={i},Task cancelled";
                BeginInvoke(new Action(() =>
                {
                    lbList.Add(str);
                    listBox1.DataSource = null;
                    listBox1.DataSource = lbList;                                           
                }));
            }
  • 相关阅读:
    疫情环境下的网络学习笔记 python 5.8 数据库入门终章
    疫情环境下的网络学习笔记 python 5.7 navicat数据库,例题,sql注入
    疫情环境下的网络学习笔记 python 5.6 暂时看看
    疫情环境下的网络学习笔记 python 5.5 MYSql 表关系,外键
    疫情环境下的网络学习笔记 python 5.4 数据库基础
    疫情环境下的网络学习笔记 python 4.30 初识数据库
    疫情环境下的网络学习笔记 python 4.29 网络小项目
    XJOI 夏令营501-511测试11 游戏
    XJOI 夏令营501-511测试11 统计方案
    CF1197D Yet Another Subarray Problem
  • 原文地址:https://www.cnblogs.com/Fred1987/p/12665044.html
Copyright © 2011-2022 走看看