尤其是即將推出的Windows (含地鐵)將要求任何IO異步編程。在C#/ .Net中,似乎有特殊的await
以及類似的構造,JavaScript API將有自己的工作機制。將C++ 11異步/期貨與Windows異步IO結合的最佳API是什麼?
會是怎樣的C++ 11的集成是什麼?現代(或即將到來的)Windows是一個簡明的例子(例如,從文件中讀取圖像以供顯示?)?如果它是使用C++ 11功能我期望async
或future
被捲入?
尤其是即將推出的Windows (含地鐵)將要求任何IO異步編程。在C#/ .Net中,似乎有特殊的await
以及類似的構造,JavaScript API將有自己的工作機制。將C++ 11異步/期貨與Windows異步IO結合的最佳API是什麼?
會是怎樣的C++ 11的集成是什麼?現代(或即將到來的)Windows是一個簡明的例子(例如,從文件中讀取圖像以供顯示?)?如果它是使用C++ 11功能我期望async
或future
被捲入?
Tips and tricks for developing Metro style apps using C++演示文稿涵蓋了這個在59:13。原始接口使用回調對象。實際上,人們可能會使用PPL提供的簡化界面。
異步和/或未來可能不會參與其中。 Windows 8異步內容與PPL和基於任務的編程和協作式阻塞相結合。異步和未來是基於線程和線程阻塞的。 – ronag
哦,是的,從PPL我聽說,至少。 – towi
@Pavel我不太明白怎麼看? C++ 11 std :: future沒有set_wait_callback,它允許用合作塊覆蓋阻塞實現。使用基於任務的調度程序組合std:future的唯一方法是承受ConcRT調度程序的Concurrency :: Oversubscribe(true)特性的開銷。我錯過了什麼?而對於WinRT,std :: future只會阻止win線程?這不是WinRT的工作原理,根據我的理解,它期望合作屏蔽。 – ronag