【问题标题】:Windows 8 Store App, Using static class members inside async callsWindows 8 Store App,在异步调用中使用静态类成员
【发布时间】:2013-01-31 04:01:50
【问题描述】:

我正在编写一个应用程序,它相当一致地执行多个套接字操作,并且具有类似于 javascript 范例( eventlistener.on(, ) / eventlistener.emit( ) )的事件消息传递系统。我从一个异步调用中输出一些调试信息,该调用在一个 TextBlock xaml 元素中附加了调试信息。当我在异步函数之外发出相同的事件时,它工作正常。我已经用互斥体包装了我的事件 on/emit 调用,我认为这足以让我写入 TextBlock。

可视化事件过程:

[class]->listener->emit(,)->[Dispatcher]->[Listeners()]->lambda([class],)

我对 WinRT 的异步函数和 Windows 8 UI/Metro/Modern 意识形态不够熟悉,不知道是否有一种特殊的方法可以让我从线程中附加 TextBlock,或者是否有更好的方法关于这个。

简而言之,是否可以从异步函数中附加一个 Textblock,如果可以,我需要做一些特别的事情吗?

【问题讨论】:

  • 更新问题更清晰

标签: c++ windows-runtime c++-cx winrt-async


【解决方案1】:

只要更新在 UI/调度程序线程上,就应该没有什么可以阻止您从异步函数更新 TextBlock。特定线程上的异步函数调用通常在同一线程上结束。

【讨论】:

  • 我发现我的一个异步线程中有一个异常,我忘记完成处理。不过感谢您提供的信息:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-18
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 2014-08-07
相关资源
最近更新 更多