打印

并发编程问题

[复制链接]
708|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gxgclg|  楼主 | 2012-6-20 23:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <iostream>#include <ppltasks.h>
using
namespace std;
using
namespace Concurrency;

int wmain(int argc, wchar_t argv[])
{
    task
<int> t([](){
        wcout
<<
"-1-"
<< endl;
        
return
4;
    });

    t.then([](
int n){wcout <<
"-2-"
<< endl;}).then([](){wcout <<
"-3-"
<< endl; return
2;}).then([](int n){wcout <<
"-4-"
<< endl;});
   
    t.then([](
int n){wcout <<
"-2-"
<< endl;}).then([](){wcout <<
"-3-"
<< endl; return
2;}).then([](int n){wcout <<
"-4-"
<< endl;}).wait();

    system(
"pause");
   
return
0;
}

在then表达式最后加入.wait()和不加有何不同?单独运行输出信息都一样,但是如果一起运行,则"-1-"只输出一次。

相关帖子

沙发
xsgy123| | 2012-6-20 23:54 | 只看该作者
这个恐怕是与缓冲区刷新方式有关,LZ这个程序编排优点乱

使用特权

评论回复
板凳
无冕之王| | 2012-6-21 00:00 | 只看该作者
程序看着有点乱

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

177

主题

1653

帖子

1

粉丝