我正在编写一个应用程序,该应用程序相当一致地执行多个套接字操作,并且具有类似于 javascript 范例的事件消息传递系统 (eventlistener.on(,)/eventlistener.emit())。我从异步调用中输出了一些调试信息,该异步调用附加了带有调试信息的 TextBlock xaml 元素。当我在异步函数之外发出相同的事件时,它工作正常。我用互斥体包装了我的事件 on/emit 调用,我认为这足以让我写入 TextBlock。
可视化事件过程:
[class]->listener->emit(< type>,< data>)->[Dispatcher]->[Listeners(< type>)]->lambda([class],< data>)
我对 WinRT 的异步函数和 Windows 8 UI/Metro/Modern 意识形态不够熟悉,不知道是否有一种特殊的方法可以让我从线程附加 TextBlock,或者是否有更好的方法关于这个。
简而言之,是否可以从异步函数附加一个文本 block ,如果可以,我需要做任何特殊的事情吗?
最佳答案
只要更新是在 UI/调度程序线程上,就应该没有什么可以阻止您从异步函数更新 TextBlock。特定线程上的异步函数调用通常在同一线程上结束。
关于c++ - Windows 8 Store App,在异步调用中使用静态类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14611332/