相关疑难解决方法(0)

Thread.Sleep在.NET Core中的替代方案

我正在将一个库移植到.NET核心并最大化可移植性,我需要消除对System.Threading.Thread和Thread.Sleep的依赖.什么是替代品呢?

.net c# multithreading .net-core

17
推荐指数
1
解决办法
2万
查看次数

使用TaskScheduler.FromCurrentSynchronizationContext更新Task中的UI

我想在列表框中添加一些文本Task,我只需使用一个按钮并在点击事件中放置此代码:

TaskScheduler uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();
Task.Factory.StartNew(() =>
{
    for (int i = 0; i < 10; i++)
    {
        listBox1.Items.Add("Number cities in problem = " + i.ToString());
        System.Threading.Thread.Sleep(1000);
    }
}, CancellationToken.None, TaskCreationOptions.None, uiScheduler);
Run Code Online (Sandbox Code Playgroud)

但是直到for循环结束它才能工作并且UI被锁定.

问题出在哪儿 ?

谢谢 :)

c# multithreading task c#-4.0

1
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×2

multithreading ×2

.net ×1

.net-core ×1

c#-4.0 ×1

task ×1