使用多線程的WinRT分量I有一個使用用C++編寫/ CX的WinRT成分的WinJS應用程序。組件產生一個後臺線程,該線程封裝了一個巨大的遺留線程不安全C++庫的工作,這需要所有調用都來自同一個線程。從WinJS
我需要實現一個生產者/消費者模式,其中在組件的後臺線程是一個製片人,並在JavaScript應用程序UI線程是消費者。
呼叫部分是容易的,如JavaScript可以調用組件的方法(在UI線程),和C++代碼將張貼作業成用於後臺線程的隊列。
的問題是回調:我需要發佈由C++後臺線程計算到UI線程的數據。我當然可以將IAsyncOperation返回給JavaScript,但我不希望在此操作正在等待來自後臺線程的事件時阻塞UI線程。
我有什麼選擇?
您需要使用核心調度之前返回到JS線程調用JS回調。我不幸在這裏沒有一個方便的例子來說明問題,或者我會給出這個答案。 – 2013-03-07 01:53:23