从UI线程运行线程而不阻塞UI线程

用户1

我的视图模型中有一个布尔属性,该属性绑定到我的视图中的属性。当此属性更改为true时,我想进行服务调用而不阻塞UI线程,因此我的视图可以继续工作。到目前为止,我有:

    private bool _isLoadingAnimationVisible = true;
    public bool IsLoadingAnimationVisible
    {
        get { return _isLoadingAnimationVisible; }
        set
        {
            _isLoadingAnimationVisible = value;
            if (IsLoadingAnimationVisible)
            {
                Task t = new Task(() => { LoadStuff(SelectedSomething.Id, SelectedDate, false); });
                t.Start();
            }
            RaisePropertyChanged("IsLoadingAnimationVisible");
        }
    }

我认为LoadStuff方法不重要,但是此任务当前阻止了我的UI线程。我想知道是否有一种方法可以在保持UI线程空闲的同时执行线程t。

妮基·阿格劳瓦尔(Nikhil Agrawal)

你可以做

if (IsLoadingAnimationVisible)
{
    new Thread(delegate() {
                           LoadStuff(SelectedSomething.Id, SelectedDate, false);
                          }).Start();
}

确保您没有从更新UI LoadStuff

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

线程问题 - 阻塞 UI 线程

来自分类Dev

从任务返回而不阻塞UI线程

来自分类Dev

为什么UI线程被阻塞?

来自分类Dev

Winforms异步任务,一次运行多个线程而不阻塞UI

来自分类Dev

为什么线程会阻塞我的JavaFX UI线程?

来自分类Dev

启动并等待新线程而不会阻塞UI线程

来自分类Dev

Xamarin Async and Await:UI线程被阻塞

来自分类Dev

TableView scrollToRow 阻塞了主 ui 线程

来自分类Dev

UI 线程阻塞了我的窗口,如何更改?

来自分类Dev

使我的线程等待而不阻塞子线程

来自分类Dev

为什么非 UI 线程会阻塞 UI?

来自分类Dev

如何在不阻塞 UI 线程的情况下在 C++ 上发出 http 请求

来自分类Dev

在另一个线程上运行 Firebase 回调会阻塞 UI

来自分类Dev

与UI线程Android通信:用户不活动

来自分类Dev

如何在UI线程中运行此类?

来自分类Dev

QThread :: create在UI线程上运行

来自分类Dev

从片段在ui线程上运行任务

来自分类Dev

在繁忙的UI线程上运行ProgressBar

来自分类Dev

我可以在调用 UI 线程上的方法时阻塞我的服务线程吗?

来自分类Dev

延迟UI线程

来自分类Dev

EKEventStore阻止ui线程

来自分类Dev

线程冻结主UI

来自分类Dev

如何从线程更新UI

来自分类Dev

UI线程和Surfaceview

来自分类Dev

等待UI线程完成

来自分类Dev

检测停滞的UI线程

来自分类Dev

onCreateLoader阻止了UI线程

来自分类Dev

线程冻结主UI

来自分类Dev

发布到UI线程