并发编程问题

[复制链接]
1754|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

粉丝
快速回复 在线客服 返回列表 返回顶部