Windows 8 Store App,在异步调用中使用静态类成员

时间:2013-01-30 18:39:59

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

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

可视化事件过程:

  

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

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

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

1 个答案:

答案 0 :(得分:1)

只要更新位于UI /调度程序线程上,就不会阻止您从异步函数更新TextBlock。异步函数调用特定线程通常在同一个线程上结束。