我想使用ppl任务在后台做一些工作,并在完成后在窗口中显示结果。在我的例子中,UI框架是MFC。结构如下:
using namespace concurrency;
create_task([] {
// this can be run in any thread, shouldn't be the UI thread
// do real work here
return 42;
}).then([](int n)
{
// this should be run on the UI thread
// ... open a MFC windo
我创建一个具有以下设置的项目。
+ Application type: Single document
+ Use Unicode libraries: NO
+ Project style: MFC standard
+ Use of MFC: Use MFC in a shared DLL
+ Base class: CScrollView
我只修改OnDraw以输出大量行。
void CMRCView::OnDraw(CDC* pDC)
{
CMRCDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
i