【问题标题】:UWP bitmapimage on background thread后台线程上的 UWP 位图图像
【发布时间】:2016-03-15 09:59:30
【问题描述】:

我有一个简单的问题。 在我的 UWP 应用程序中,当我尝试使用代码:var image=new BitmapImage(); 创建一个简单的 BitmapImage 时,我正在使用多个线程并且在后台线程上。它抛出一个异常

应用程序调用了一个为不同线程编组的接口。

这个异常发生在我尝试创建图像的那一行。我只是想创建这个图像,处理它的属性,然后将它存储在我的数据列表中。

注意:datalist 是一个简单的公共静态属性,可在整个应用程序中访问。谢谢你

【问题讨论】:

    标签: multithreading win-universal-app bitmapimage background-thread


    【解决方案1】:

    我无法从问题中看到完整的上下文,所以我不确定为什么这个异常会冒泡,但解决它的一个可靠方法是使用CoreDispatcher.RunAsync()。 文档说:

    如果您在工作线程上并希望在 UI 线程上安排工作,请使用 CoreDispatcher::RunAsync。

    如果你使用MVVMLight,你也可以使用它的DispatcherHelper 类的CheckBeginInvokeOnUI 方法。稍微好一点,因为它首先检查调用的是哪个线程,如果是 UI 线程,它会立即执行操作并仅在需要时将其传递给 UI 线程。

    【讨论】:

    猜你喜欢
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    相关资源
    最近更新 更多