net 多线程学习 23 TaskScheduler.FromCurrentSynchronizationContext 不让UI等待


// Task.Factory.StartNew都会使用threadpool,如何让task单独使用thread,我忘了
//ContinueWith会启动另一个工作者线程来进行操作
task.ContinueWith(t =>
{
		//对UI的更新的操作单独出来
		//把它与时间的操作分割开,就不会让UI等待
		//涉及到UI操作的都要瞬间完成
		label1.Text = "你好";
}, TaskScheduler.FromCurrentSynchronizationContext());
task.Start();

//耗时的操作我们要放到threadpool
//var task = Task.Factory.StartNew(() =>
//{
//    //默认耗时操作
//    Thread.Sleep(1000 * 10);
//});

//更新操作放到同步上下文中,即时更新
//task.ContinueWith(t =>
//{
//    label1.Text = "你好";
//}, TaskScheduler.FromCurrentSynchronizationContext());


作者:spike

分类: Net

创作时间:2023-06-25

更新时间:2024-12-09

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1