C# Task Cancel,CancellationTokenSource.IsCancellationRequested
2021-03-10 22:32
标签:date event div cli tcl guid thread string oid C# Task Cancel,CancellationTokenSource.IsCancellationRequested 标签:date event div cli tcl guid thread string oid 原文地址:https://www.cnblogs.com/Fred1987/p/12665044.html 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();
Liststring> lbList = new Liststring>();
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();
Liststring> lbList = new Liststring>();
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;i10000;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;
}));
}
}
上一篇:.NET创建WIN10服务
文章标题:C# Task Cancel,CancellationTokenSource.IsCancellationRequested
文章链接:http://soscw.com/index.php/essay/62960.html